postgresql - unrecognized - sqlstate 08006 7 could not connect to server connection refused
Postgresql: conexión rechazada. Verifique que el nombre de host y el puerto sean correctos y que el administrador de correos acepte las conexiones TCP/IP (1)
Esta pregunta ya tiene una respuesta aquí:
- Conexión rechazada (PGError) (postgresql y rieles) 4 respuestas
Estoy intentando conectar postgresql pero estoy obteniendo este error.
org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
Mi archivo pg_hba.conf es así.
TYPE DATABASE USER CIDR-ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Estaría muy agradecido si alguien tuviera la amabilidad de explicar qué es lo que está acá y cómo debería corregirlo.
El error que citas no tiene nada que ver con pg_hba.conf
; no está conectando, no está fallando en autorizar la conexión.
Haz lo que dice el mensaje de error:
Compruebe que el nombre de host y el puerto sean correctos y que el administrador de correos acepte las conexiones TCP / IP
No ha mostrado el comando que produce el error. Suponiendo que se está conectando en el puerto localhost
5432
(los valores predeterminados para una instalación estándar de PostgreSQL), entonces:
PostgreSQL no se está ejecutando
PostgreSQL no está escuchando conexiones TCP / IP (
listen_addresses
enpostgresql.conf
)PostgreSQL solo escucha en IPv4 (
0.0.0.0
o127.0.0.1
) y te estás conectando en IPv6 (::1
) o viceversa. Esto parece ser un problema en algunas versiones anteriores de Mac OS X que tienen un extraño comportamiento de socket IPv6 y en algunas versiones anteriores de Windows.PostgreSQL está escuchando en un puerto diferente al que está conectando en
(poco probable) hay una regla de
iptables
bloquea las conexiones de bucle invertido
(Si no se está conectando en localhost
, también puede ser un firewall de red que está bloqueando las conexiones TCP / IP, pero supongo que está usando los valores predeterminados porque no lo dijo).
Entonces ... revisa esos:
ps -f -u postgres
debe listar los procesos depostgres
sudo lsof -n -u postgres |grep LISTEN
osudo netstat -ltnp | grep postgres
sudo netstat -ltnp | grep postgres
debería mostrar las direcciones TCP / IP y los puertos en los que PostgreSQL está escuchando
Por cierto, creo que debes tener una versión anterior. En mi instalación 9.3, el error es bastante más detallado:
$ psql -h localhost -p 12345
psql: could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 12345?