PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Connessione PostgreSQL remota con pgAdmin

Prima di tutto verifica se riesci a connetterti al database tramite psql :

psql -h ip_address -d name_of_the_database -U username

Se ricevi un errore di connessione rifiutata, dovevi impostare qualcosa di sbagliato e controllare Cosa devo controllare se la connessione remota a PostgreSQL non funziona?

psql: could not connect to server: Connection refused Is the server running on host ip_address

Cosa devo controllare se la connessione remota a PostgreSQL non funziona?

  1. Controlla la configurazione dell'autenticazione in pg_hba.conf

    Di solito si trova su Linux - /etc/postgresql/version/main/pg_hba.conf .Dovresti consentire l'autenticazione per il client per IP specifico da tutti gli indirizzi 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
    

    Ulteriori informazioni su come impostare pg_hba.conf puoi trovare nella documentazione .

  2. Quindi dovresti impostare l'ascolto su una porta specifica.

    Devi trovare il postgresql.conf . Di solito si trova /etc/postgresql/9.1/main/postgresql.conf ) e cambia la riga con listen_address da:

    #listen_address = ''
    

    a (non dimenticare rimuovere # che significa commento):

    listen_address = '*'
    
  3. Dopo ogni passaggio dovresti riavviare il servizio Postgresql:

    sudo service postgresql restart
    
  4. Dopo il passaggio 2 dovresti vedere la porta 5432 (o 5433) nell'indirizzo di ascolto dopo il comando netstat:

    netstat -ntlp
    
  5. Dopo di che devi aprire la porta per PostgreSQL nel firewall:

    sudo ufw allow 5432
    

    Puoi controllare le impostazioni del firewall con (dovresti vedere 5432 nell'elenco):

    sudo ufw status
    
  6. Se uno qualsiasi dei passaggi precedenti non funziona, dovresti controllare se PostgreSQL non è in esecuzione su una porta diversa (di solito 5433) e ripetere i passaggi precedenti.

    Questo accade molto spesso quando hai più versioni in esecuzione di PostgreSQL o aggiorni il database e ti sei dimenticato di interrompere la versione precedente di PostgreSQL.

Se hai problemi a trovare i file di configurazione puoi controllare questo thread Dove sono i miei file *.conf postgres? .