PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Erro de conexão ao conectar ao PostgreSQL como usuário postgres?


Você está tentando se conectar ao PostgreSQL em localhost usando um script rodando em seu computador, mas não há nenhum servidor PostgreSQL rodando lá.

Para que isso funcione, você teria que executar o ssh no servidor remoto e executar seu script Python lá, onde o servidor PostgreSQL é "local" em relação ao script Python.

(É por isso que executar o psql funciona - porque você o está executando no servidor remoto , onde PostgreSQL é "local" relativo a psql ).

Alternativamente, você pode:

  • Use um túnel SSH para encaminhar a porta PostgreSQL do computador local para o remoto; ou

  • Conecte-se diretamente por TCP/IP ao servidor PostgreSQL remoto usando seu nome de host ou endereço IP, após habilitar conexões remotas no servidor.

Observe que apenas colocar o endereço IP do servidor ou o nome do host na string de conexão em vez de localhost não funcionará a menos que você também configure o servidor para aceitar conexões remotas . Você deve definir listen_addresses para escutar conexões não locais, adicione quaisquer regras de firewall necessárias, defina pg_hba.conf para permitir conexões de máquinas remotas e, de preferência, configurar SSL. Tudo isso é abordado no capítulo Autenticação do cliente do manual do usuário do PostgreSQL.

Você provavelmente achará um túnel SSH mais simples e fácil de entender.