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

Conexão remota do PostgreSQL com pgAdmin


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?


  1. Verifique a configuração de autenticação em pg_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 o pg_hba.conf você pode encontrar na documentação .

  2. Então você deve configurar a escuta em uma porta específica.

    Você tem que encontrar o postgresql.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 = '*'
    

  3. Após cada etapa, você deve reiniciar o serviço Postgresql:
    sudo service postgresql restart
    

  4. 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
    

  5. 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
    

  6. 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? .