PostgreSQL „Verbindung zum Server konnte nicht hergestellt werden“ Fehler beheben

Der PostgreSQL-Error „Verbindung zum Server konnte nicht hergestellt werden“ kann aus verschiedenen Gründen auftreten. Oft reicht es, das Open-Source-Datenbankmanagementsystem neu zu starten oder die TCP/IP-Einstellungen anzupassen.

Anforderungen

  • Cloud Server unter Linux (CentOS 7 oder Ubuntu 16.04)
  • PostgreSQL installiert und läuft

Cloud Server von IONOS

Vertrauen Sie auf flexibel skalierbare und zuverlässige Cloud Server auf hochverfügbarer Infrastruktur mit Standort Deutschland inklusive persönlichem Berater und minutengenauer Abrechnung - Sie zahlen also wirklich nur Ihre benötigten Ressourcen!

VMware Virtualisierung
Rest API
Unlimited Traffic

„Die Verbindung zum Server konnte nicht hergestellt werden: Keine solche Datei oder Verzeichnis“

Der PostgreSQL-Fehler „Could not connect to server: No such file or directory“, auf Deutsch „Die Verbindung zum Server konnte nicht hergestellt werden: Keine solche Datei oder Verzeichnis“ bedeutet normalerweise, dass PostgreSQL nicht ausgeführt wird. Oft hängt der Error aber auch mit Berechtigungsproblemen zusammen.

Verwenden Sie zunächst den Befehl systemctl status postgresql, um den Status von PostgreSQL zu überprüfen:

user@localhost:~# systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: **active** (exited) since Thu 2017-03-23 21:34:03 UTC; 14s ago
 Main PID: 24289 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/postgresql.service
Mar 23 21:34:03 localhost.localdomain systemd[1]: Starting PostgreSQL RDBMS...
Mar 23 21:34:03 localhost.localdomain systemd[1]: Started PostgreSQL RDBMS.
Mar 23 21:34:08 localhost.localdomain systemd[1]: Started PostgreSQL RDBMS.

Wenn der Status als aktiv angezeigt wird, starten Sie PostgreSQL mit dem Befehl systemctl restart postgresql neu. Wenn der Status als inaktiv angezeigt wird, starten Sie PostgreSQL mit dem Befehl systemctl start postgresql.

Hat der Neustart das Problem nicht behoben, schauen Sie sich als nächstes die Berechtigungen Ihres Verzeichnisses mit dem Pfad /var/lib/postgresql/9.6/main an. Die Versionsnummer 9.6 kann bei Ihnen je nach Installation abweichen. Es wird erwartet, dass die Berechtigungen für Ordner auf „0700“ und die Berechtigungen für Dateien auf „0600“ eingestellt sind. Das bedeutet, dass bei Ordnern Lese-, Schreib- und Ausführrechte und bei Dateien Lese- und Schreibrechte vorhanden sein müssen. Nutzen Sie den ls-Befehl im obigen Pfad, um sich die aktuellen Rechte anzeigen zu lassen.

Falls Sie feststellen, dass die Berechtigungen abweichen, führen Sie folgende Befehle in der Kommandozeile aus:

sudo chown -R postgres:postgres /var/lib/postgresql/9.6/
sudo chmod -R u=rwX,go= /var/lib/postgresql/9.6/

Starten Sie anschließend PostgreSQL wie oben gezeigt neu.

„Die Verbindung zum Server konnte nicht hergestellt werden: Verbindung abgelehnt“

Eine weitere Variante des PostgreSQL-Errors „Verbindung zum Server konnte nicht hergestellt werden“ ist der Fehler „could not connect to server: Connection refused“.

Verwenden Sie zunächst den Befehl systemctl-status postgresql, um anzeigen zu lassen, dass PostgreSQL ausgeführt wird. Um sicher zu sein, dass PostgreSQL läuft, kann mit systemctl restart postgresql auch ein Neustart durchgeführt werden.

Wenn dies das Problem nicht behebt, ist die wahrscheinlichste Ursache für diesen Fehler, dass PostgreSQL nicht konfiguriert ist, um TCP/IP-Verbindungen zuzulassen.

Um dies zu korrigieren, bearbeiten Sie Ihre postgresql.conf-Datei. Diese finden Sie je nach Linux-Distribution in einem der folgenden Dateipfade:

  • Ubuntu 16.04: sudo nano /etc/postgresql/9.5/main/postgresql.conf
  • CentOS 7: sudo nano /usr/pgsql-10/share/postgresql.conf

Überprüfen Sie die listen_address-Konfiguration. Um TCP/IP-Verbindungen zuzulassen, sollte diese auf „0.0.0.0.0.0“ (um Verbindungen von allen IP-Adressen zuzulassen) oder auf die spezifische IP-Adresse des Servers eingestellt werden, der zugelassen werden soll.

Wenn diese Konfiguration leer gelassen oder auf localhost gesetzt wird, erlaubt PostgreSQL keine externen TCP/IP-Verbindungen. Dies entspricht auch der Voreinstellung von PostgreSQL.

PostgreSQL kann auch keine Verbindung zum Server herstellen, wenn die Verbindung durch eine Firewall blockiert wird. Beachten Sie, dass alle Cloud Server von der standardmäßigen Firewall-Richtlinie betroffen sind, die über das Cloud Panel gesteuert wird.

Cloud Backup von IONOS

Maximaler Schutz für Ihre Unternehmensdaten: Einfache Backups für Cloud-Infrastruktur, PCs und Smartphones, inklusive persönlichem Berater!

Umfassender Schutz
Einfache Wiederherstellung
Schnelle Datenspeicherung