En primer lugar, pruebe si puede conectarse a la base de datos a través de psql :
psql -h ip_address -d name_of_the_database -U username
Si obtiene un error de conexión rechazada, tuvo que configurar algo incorrecto y verificar ¿Qué debo verificar si la conexión remota a PostgreSQL no funciona?
psql: could not connect to server: Connection refused Is the server running on host ip_address
¿Qué debo comprobar si la conexión remota a PostgreSQL no funciona?
-
Verifique la configuración de autenticación en
pg_hba.conf
Por lo general, se encuentra en Linux -
/etc/postgresql/version/main/pg_hba.conf
.Debe permitir la autenticación del cliente para una IP específica desde todas las direcciones IP:# Database administrative login by Unix domain socket local all postgres peer # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 0.0.0.0/0 md5 # IPv6 local connections: host all all ::0/0 md5 #all ips host all all all md5
Más información sobre cómo configurar
pg_hba.conf
puede encontrar en documentación . -
Entonces deberías configurar la escucha en un puerto específico.
Tienes que encontrar el
postgresql.conf
. Normalmente se encuentra/etc/postgresql/9.1/main/postgresql.conf
) archivo y cambie la línea con listen_address from:#listen_address = ''
a (no olvide eliminar # que significa comentario):
listen_address = '*'
-
Después de cada paso, debe reiniciar el servicio de Postgresql:
sudo service postgresql restart
-
Después del paso 2, debería ver el puerto 5432 (o 5433) en la dirección de escucha después del comando netstat:
netstat -ntlp
-
Después de eso, debe abrir el puerto para PostgreSQL en el firewall:
sudo ufw allow 5432
Puede verificar la configuración del firewall con (debería ver 5432 en la lista):
sudo ufw status
-
Si alguno de los pasos anteriores no funciona, debe verificar si PostgreSQL no se está ejecutando en un puerto diferente (generalmente 5433) y repetir los pasos anteriores.
Esto sucede muy a menudo cuando tiene más versiones de PostgreSQL en ejecución o actualiza la base de datos y olvidó detener la versión anterior de PostgreSQL.
Si tiene problemas para encontrar archivos de configuración, puede consultar este hilo ¿Dónde están mis archivos postgres *.conf? .