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

Postgresql:connessione rifiutata. Verificare che il nome host e la porta siano corretti e che il postmaster accetti connessioni TCP/IP

L'errore che citi non ha nulla a che fare con pg_hba.conf; non riesce a connettersi, non riesce ad autorizzare la connessione.

Fai quello che dice il messaggio di errore:

Verifica che il nome host e la porta siano corretti e che il postmaster accetti connessioni TCP/IP

Non hai mostrato il comando che produce l'errore. Supponendo che ti stia connettendo su localhost porta 5432 (i valori predefiniti per un'installazione PostgreSQL standard), quindi:

  • PostgreSQL non è in esecuzione

  • PostgreSQL non sta ascoltando le connessioni TCP/IP (listen_addresses in postgresql.conf )

  • PostgreSQL è in ascolto solo su IPv4 (0.0.0.0 o 127.0.0.1 ) e ti stai connettendo su IPv6 (::1 ) o vice versa. Questo sembra essere un problema su alcune versioni precedenti di Mac OS X che hanno uno strano comportamento del socket IPv6 e su alcune versioni precedenti di Windows.

  • PostgreSQL è in ascolto su una porta diversa da quella su cui ti stai connettendo

  • (improbabile) c'è un iptables regole che bloccano le connessioni di loopback

(Se lo sei non connessione su localhost , potrebbe anche essere un firewall di rete che sta bloccando le connessioni TCP/IP, ma suppongo che tu stia utilizzando le impostazioni predefinite poiché non l'hai detto).

Quindi ... controlla quelli:

  • ps -f -u postgres dovrebbe elencare postgres processi

  • sudo lsof -n -u postgres |grep LISTEN o sudo netstat -ltnp | grep postgres dovrebbe mostrare gli indirizzi TCP/IP e le porte su cui PostgreSQL è in ascolto

A proposito, penso che tu debba essere su una vecchia versione. Sulla mia installazione 9.3, l'errore è piuttosto più dettagliato:

$ psql -h localhost -p 12345
psql: could not connect to server: Connection refused
        Is the server running on host "localhost" (::1) and accepting
        TCP/IP connections on port 12345?