Antes de tudo, teste se você pode se conectar ao banco de dados via psql :
psql -h ip_address -d name_of_the_database -U username
Se você receber um erro de conexão recusada, você teve que configurar algo errado e verificar o O que devo verificar se a conexão remota ao PostgreSQL não estiver funcionando?
psql: could not connect to server: Connection refused Is the server running on host ip_address
O que devo verificar se a conexão remota ao PostgreSQL não está funcionando?
-
Verifique a configuração de autenticação empg_hba.conf
Geralmente localizado no linux -/etc/postgresql/version/main/pg_hba.conf
.Você deve permitir a autenticação do cliente para IP específico de todos os endereços 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
Mais informações sobre como configurar opg_hba.conf
você pode encontrar na documentação .
-
Então você deve configurar a escuta em uma porta específica.
Você tem que encontrar opostgresql.conf
. Geralmente localizado em/etc/postgresql/9.1/main/postgresql.conf
) e altere a linha com listen_address de:
#listen_address = ''
to (não se esqueça de remover # que significa comentar):
listen_address = '*'
-
Após cada etapa, você deve reiniciar o serviço Postgresql:
sudo service postgresql restart
-
Após a etapa 2, você deverá ver a porta 5432 (ou 5433) no endereço de escuta após o comando netstat:
netstat -ntlp
-
Depois disso, você deve abrir a porta do PostgreSQL no firewall:
sudo ufw allow 5432
Você pode verificar as configurações do firewall com (você deve ver 5432 na lista):
sudo ufw status
-
Se alguma das etapas anteriores não funcionar, verifique se o PostgreSQL não está sendo executado em uma porta diferente (geralmente 5433) e repita as etapas anteriores.
Isso acontece com muita frequência quando você tem mais versões em execução do PostgreSQL ou atualiza o banco de dados e esqueceu de parar a versão anterior do PostgreSQL.
Se você tiver problemas para encontrar arquivos de configuração, verifique este tópico Onde estão meus arquivos postgres *.conf? .