no se puede conectar a la base de datos remota postgresql

16

Estoy tratando de conectarme a una base de datos psql remota. Antes de agregar la entrada pg_hba.conf con la dirección IP del cliente, recibía un mensaje de error:

xdev@xdevbox:~$ psql -U postgres testdb -h 10.1.1.47
psql: FATAL:  no pg_hba.conf entry for host "10.201.50.71", user "postgres", database "testdb", SSL off

Agregué la IP del cliente con la configuración de confianza. También cambié la dirección de escucha en postgres.conf en el servidor para escuchar "*". Luego reinicié el servidor de la base de datos usando el comando /etc/init.d/postgresql restart.

Ahora, cuando intento conectarme, aparece el siguiente mensaje de error:

psql: could not connect to server: Connection refused
    Is the server running on host "10.1.1.47" and accepting
    TCP/IP connections on port 5432?

en postgresql.conf, el puerto está configurado en 5432. No estoy seguro de qué más verificar.

Gracias

punto
fuente
¿Puedes hacer ping a esa dirección?
dezso
1
Yo diría que el DB no se reinició correctamente cuando lo reinició. Compruebe los archivos de registro de PostgreSQL por la razón de por qué - probablemente un error tipográfico en pg_hba.conf.
Craig Ringer
Tuve que cambiar la dirección de escucha de * a la dirección IP específica.
punto

Respuestas:

22

Tienes que configurar los siguientes dos archivos

pg_hba.conf

host all all 0.0.0.0/0 md5

postgresql.conf

listen_addresses='*'

Debe verificar si el puerto 5432 está abierto: http://www.yougetsignal.com/tools/open-ports/

Si no es así, agregue una regla a su iptables:

iptables -A INPUT -s 0/0 -p tcp --dport 5432 -j ACCEPT

0/0: si quieres que alguien acceda a él. Puede cambiarlo a una dirección IP específica o rango de direcciones IP.

Danés Khakwani
fuente
1
Solo una adición. No necesita usar una herramienta externa. Solo use telnet [yourServerIp] 5432si no tiene Telnet instalado, puede usarlo PowerShellen Windows, por ejemplo.
Ionic
@Ionic es cierto
Danish Khakwani
2
Bueno, llámame paranoico, pero no confío en demasiados servicios en la red. ;-) Solo para estar al tanto. :-)
Ionic
la herramienta de verificación de puertos me ayudó aquí
Shobi