PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Postgresql:Verbindung abgelehnt. Überprüfen Sie, ob Hostname und Port korrekt sind und ob der Postmaster TCP/IP-Verbindungen akzeptiert

Der von Ihnen zitierte Fehler hat nichts mit pg_hba.conf zu tun; die Verbindung schlägt fehl, die Verbindung wird nicht autorisiert.

Tun Sie, was die Fehlermeldung sagt:

Überprüfen Sie, ob Hostname und Port korrekt sind und ob der Postmaster TCP/IP-Verbindungen akzeptiert

Sie haben den Befehl, der den Fehler erzeugt, nicht angezeigt. Angenommen, Sie verbinden sich auf localhost Port 5432 (die Standardwerte für eine standardmäßige PostgreSQL-Installation), dann entweder:

  • PostgreSQL wird nicht ausgeführt

  • PostgreSQL lauscht nicht auf TCP/IP-Verbindungen (listen_addresses in postgresql.conf )

  • PostgreSQL lauscht nur auf IPv4 (0.0.0.0 oder 127.0.0.1 ) und Sie verbinden sich über IPv6 (::1 ) oder umgekehrt. Dies scheint ein Problem bei einigen älteren Mac OS X-Versionen zu sein, die ein seltsames IPv6-Socket-Verhalten aufweisen, sowie bei einigen älteren Windows-Versionen.

  • PostgreSQL lauscht auf einem anderen Port als dem, auf dem Sie sich verbinden

  • (unwahrscheinlich) gibt es ein iptables Regel, die Loopback-Verbindungen blockiert

(Falls nicht Verbindung auf localhost , es kann auch eine Netzwerk-Firewall sein, die TCP/IP-Verbindungen blockiert, aber ich vermute, dass Sie die Standardeinstellungen verwenden, da Sie es nicht gesagt haben).

Also ... überprüfen Sie diese:

  • ps -f -u postgres sollte postgres auflisten Prozesse

  • sudo lsof -n -u postgres |grep LISTEN oder sudo netstat -ltnp | grep postgres sollte die TCP/IP-Adressen und Ports anzeigen, auf denen PostgreSQL lauscht

BTW, ich denke, Sie müssen auf einer alten Version sein. Bei meiner 9.3-Installation ist der Fehler etwas detaillierter:

$ 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?