Estou tentando me conectar a um banco de dados remoto psql. Antes de adicionar a entrada pg_hba.conf com o endereço IP do cliente, estava recebendo uma mensagem de erro:
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
Eu adicionei o IP do cliente com configurações de confiança. Eu também mudei o endereço de escuta em postgres.conf no servidor para escutar "*". Então reiniciei o servidor de banco de dados usando o comando /etc/init.d/postgresql restart.
Agora, quando tento conectar, recebo a seguinte mensagem de erro:
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?
no postgresql.conf, a porta está definida como 5432. Não tenho certeza do que mais verificar.
Obrigado
Você tem que configurar os dois arquivos a seguir
pg_hba.conf
postgresql.conf
Você deve verificar se a porta 5432 está aberta: http://www.yougetsignal.com/tools/open-ports/
Se não for, adicione uma regra ao seu
iptables
:0/0: Se você quiser que alguém acesse. Você pode alterá-lo para um endereço IP específico ou intervalo de endereços IP.
não concordo em usar
se seu banco de dados estiver exposto à Internet. No meu projeto o postrgres está na nuvem e é usado no backend. Preciso me conectar diretamente ao banco de dados apenas para manutenção. Eu me conecto ao banco de dados de um IP público, digamos 1.2.3.4. Neste caso a entrada correta é:
Observe o "/0" após o endereço IP. Sem "/0", você receberá o "Erro de conexão recusada".
É sempre melhor restringir o acesso ao banco de dados especificando o nome do banco de dados, o usuário do banco de dados e os endereços IP na lista branca. Nunca use "ALL" a menos que esteja em um ambiente de desenvolvimento.
Tchau!