Testen Sie zunächst, ob Sie sich über psql :
psql -h ip_address -d name_of_the_database -U username
Wenn Sie den Fehler "Verbindung verweigert" erhalten, müssen Sie etwas falsch eingerichtet und die Was soll ich überprüfen, wenn die Remote-Verbindung zu PostgreSQL nicht funktioniert? überprüfen
psql: could not connect to server: Connection refused Is the server running on host ip_address
Was sollte ich überprüfen, wenn die Remote-Verbindung zu PostgreSQL nicht funktioniert?
-
Überprüfen Sie die Authentifizierungskonfiguration in
pg_hba.conf
Befindet sich normalerweise unter Linux -
/etc/postgresql/version/main/pg_hba.conf
.Sie sollten die Authentifizierung für den Client für bestimmte IP-Adressen von allen IP-Adressen zulassen:# 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
Weitere Informationen zum Einrichten von
pg_hba.conf
finden Sie in der Dokumentation . -
Dann sollten Sie das Abhören auf einem bestimmten Port einrichten.
Sie müssen die
postgresql.conf
finden . Normalerweise unter/etc/postgresql/9.1/main/postgresql.conf
) Datei und ändern Sie die Zeile mit listen_address von:#listen_address = ''
an (vergessen Sie nicht, # zu entfernen, was Kommentar bedeutet):
listen_address = '*'
-
Nach jedem Schritt sollten Sie den Postgresql-Dienst neu starten:
sudo service postgresql restart
-
Nach Schritt 2 sollten Sie Port 5432 (oder 5433) in der Überwachungsadresse nach dem netstat-Befehl sehen:
netstat -ntlp
-
Danach müssen Sie den Port für PostgreSQL in der Firewall öffnen:
sudo ufw allow 5432
Sie können die Firewall-Einstellungen überprüfen mit (Sie sollten 5432 in der Liste sehen):
sudo ufw status
-
Wenn einer der vorherigen Schritte nicht funktioniert, sollten Sie überprüfen, ob PostgreSQL nicht auf einem anderen Port (normalerweise 5433) ausgeführt wird, und die vorherigen Schritte wiederholen.
Dies passiert sehr oft, wenn Sie mehrere Versionen von PostgreSQL ausführen oder wenn Sie die Datenbank aktualisieren und vergessen haben, die vorherige Version von PostgreSQL zu stoppen.
Wenn Sie Probleme haben, Konfigurationsdateien zu finden, können Sie diesen Thread überprüfen Wo sind meine postgres *.conf-Dateien? .