Postgresql no arranca porque no resuelve localhost

Hola.

Desde hace un par de actualizaciones he tenido algunos problemas menores. Con cockpit que solucioné y publiqué aquí: Error al iniciar cockpit en el navegador web [solucionado] y con pcp que lo usaba para obtener métricas en el propio cockpit.

Ahora el problema que tengo es con postgresql. Lo instalé para echarle un vistazo a algunas GUI como pgadmin4, pero no puedo arrancarlo.

Esto ya me pasaba con pcp, creo recordar. De alguna forma no me resuelve localhost, y me devuelve lo que parece un un simple aviso:

could not translate host name “localhost”, service “5432” to address: Name or service not known

El error en sí que me da ahora es que no me deja crear ningún socket TCP/IP, pero diría que eso está relacionado con lo de antes. El log completo incluye:

2025-06-29 19:55:16.205 CEST [34708]LOG: starting PostgreSQL 17.5 on x86_64-suse-linux-gnu, compiled by gcc (SUSE Linux) 14.2.1 20250430 [revision 3418d740b344e0ba38022f3bed90540ec3de35dd], 64-bit
2025-06-29 19:55:16.272 CEST [34708]LOG: could not translate host name “localhost”, service “5432” to address: Name or service not known
2025-06-29 19:55:16.272 CEST [34708]WARNING: could not create listen socket for “localhost”
2025-06-29 19:55:16.272 CEST [34708]FATAL: could not create any TCP/IP sockets
2025-06-29 19:55:16.274 CEST [34708]LOG: database system is shut down

Con esto: https://serverfault.com/questions/604281/postgres-could-not-create-any-tcp-ip-sockets he conseguido que arranque, pero no entiendo qué pasa con localhost. El contenido de /etc/hosts es:

# IP-Address  Full-Qualified-Hostname  Short-Hostname
#

127.0.0.1       localhost localhost.localdomain
::1             localhost localhost.localdomain ipv6-localhost ipv6-loopback

# special IPv6 addresses
fe00::0         ipv6-localnet

ff00::0         ipv6-mcastprefix
ff02::1         ipv6-allnodes
ff02::2         ipv6-allrouters
ff02::3         ipv6-allhosts

Alguna idea por ahí?

Salud!!

Hola:
Algunos nombres de host , se forma automática vía dhcp , otros tienen en cuenta el nombre del host , y también esta el ipv6 , mi red creo que sigue sin se compatible con él , por lo que solo uso ipv4 .
Que sepa , mi isp no daba ipv6 ¿ no se si actualmente lo hace? .
También las direcciones ipv6 son mas largas que las ip ,
Me parece que pueda ser el problema, muchas web, ya han pasado a ipv6 , mientras que otras siguen manteniendo ipv4 con sus limitaciones .

Saludos

Puedes probar a levantarlo con docker o podman si te interesa. Yo mis sistemas de desarrollo los levanto así por la facilidad que tiene para probar varias versiones, configuración, redes, etc con docker compose es sencillísimo y con un par de comandos o con portainer es coser y cantar

Gracias por contestar.

Con el apaño que enlacé el sistema ya funciona. El punto es que no me resuelve localhost. Voy a editar el título.

Es un error importante -tengo servidores por ahí basados en postgresql- y me huelo que puede afectar a otros -pmlogger también falla aunque no sé si es exactamente el mismo problema. Sin embargo, cuando entro a cockpit en Firefox en la URL localhost:9090, funciona correctamente :no_mouth:

El archivo /etc/hosts es fundamental para que funcione el servidor HTTP y servicios derivados de Internet como las bases de datos MariaDB, Postgresql…
También son importantes los archivos hosts.allow y hosts.deny que sirven para autorizar y denegar la salida por Internet de los servicios. Mira si en hosts.deny hay una referencia a Postgresql

Lo que dice el enlace que aportas es que detrás de la linea que empieza por 127.0.0.1 hay que poner localhost y los sucesivos dominios separados por un espacio en blanco y seguidos hasta el salto de pagina ‘\n’

El mío:

#
# hosts         This file describes a number of hostname-to-address
#               mappings for the TCP/IP subsystem.  It is mostly
#               used at boot time, when no name servers are running.
#               On small systems, this file can be used instead of a
#               "named" name server.
# Syntax:
#    
# IP-Address  Full-Qualified-Hostname  Short-Hostname
#

127.0.0.1	localhost

# special IPv6 addresses
::1             localhost ipv6-localhost ipv6-loopback

fe00::0         ipv6-localnet

ff00::0         ipv6-mcastprefix
ff02::1         ipv6-allnodes
ff02::2         ipv6-allrouters
ff02::3         ipv6-allhosts

Lo que me funcionó para postgresql fue modificar su propia configuración y donde ponía localhost, poner 127.0.0.1 directamente, et voilà!

En cuanto al hosts.deny, nada particular, más allá de que no tengo instalado tcpd aunque sí he probado a instalarlo.

# /etc/hosts.deny
# Make sure package tcpd is installed on your system for this to work.
# See 'man tcpd' and 'man 5 hosts_access' as well as /etc/hosts.allow
# for a detailed description.

http-rman : ALL EXCEPT LOCAL