Der Post­greS­QL-Error „Ver­bin­dung zum Server konnte nicht her­ge­stellt werden“ kann aus ver­schie­de­nen Gründen auftreten. Oft reicht es, das Open-Source-Da­ten­bank­ma­nage­ment­sys­tem neu zu starten oder die TCP/IP-Ein­stel­lun­gen an­zu­pas­sen.

An­for­de­run­gen

Cloud Server
Leis­tungs­star­ke Kon­fi­gu­ra­tio­nen
  • On-Demand ska­lier­bar & Root-Zugriff inklusive
  • Hoch­ver­füg­ba­re Server-Plattform
  • ISO-zer­ti­fi­zier­te Re­chen­zen­tren am Standort Deutsch­land

„Die Ver­bin­dung zum Server konnte nicht her­ge­stellt werden: Keine solche Datei oder Ver­zeich­nis“

Der Post­greS­QL-Fehler „Could not connect to server: No such file or directory“, auf Deutsch „Die Ver­bin­dung zum Server konnte nicht her­ge­stellt werden: Keine solche Datei oder Ver­zeich­nis“ bedeutet nor­ma­ler­wei­se, dass Post­greS­QL nicht aus­ge­führt wird. Oft hängt der Error aber auch mit Be­rech­ti­gungs­pro­ble­men zusammen.

Verwenden Sie zunächst den Befehl systemctl status post­gres­ql, um den Status von Post­greS­QL zu über­prü­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 Post­greS­QL mit dem Befehl systemctl restart post­gres­ql neu. Wenn der Status als inaktiv angezeigt wird, starten Sie Post­greS­QL mit dem Befehl systemctl start post­gres­ql.

Hat der Neustart das Problem nicht behoben, schauen Sie sich als nächstes die Be­rech­ti­gun­gen Ihres Ver­zeich­nis­ses mit dem Pfad /var/lib/post­gres­ql/9.6/main an. Die Ver­si­ons­num­mer 9.6 kann bei Ihnen je nach In­stal­la­ti­on abweichen. Es wird erwartet, dass die Be­rech­ti­gun­gen für Ordner auf „0700“ und die Be­rech­ti­gun­gen für Dateien auf „0600“ ein­ge­stellt sind. Das bedeutet, dass bei Ordnern Lese-, Schreib- und Aus­führ­rech­te und bei Dateien Lese- und Schreib­rech­te vorhanden sein müssen. Nutzen Sie den ls-Befehl im obigen Pfad, um sich die aktuellen Rechte anzeigen zu lassen.

Falls Sie fest­stel­len, dass die Be­rech­ti­gun­gen abweichen, führen Sie folgende Befehle in der Kom­man­do­zei­le aus:

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

Starten Sie an­schlie­ßend Post­greS­QL wie oben gezeigt neu.

„Die Ver­bin­dung zum Server konnte nicht her­ge­stellt werden: Ver­bin­dung abgelehnt“

Eine weitere Variante des Post­greS­QL-Errors „Ver­bin­dung zum Server konnte nicht her­ge­stellt werden“ ist der Fehler „could not connect to server: Con­nec­tion refused“.

Verwenden Sie zunächst den Befehl systemctl-status post­gres­ql, um anzeigen zu lassen, dass Post­greS­QL aus­ge­führt wird. Um sicher zu sein, dass Post­greS­QL läuft, kann mit systemctl restart post­gres­ql auch ein Neustart durch­ge­führt werden.

Wenn dies das Problem nicht behebt, ist die wahr­schein­lichs­te Ursache für diesen Fehler, dass Post­greS­QL nicht kon­fi­gu­riert ist, um TCP/IP-Ver­bin­dun­gen zu­zu­las­sen.

Um dies zu kor­ri­gie­ren, be­ar­bei­ten Sie Ihre post­gres­ql.conf-Datei. Diese finden Sie je nach Linux-Dis­tri­bu­ti­on in einem der folgenden Da­tei­pfa­de:

  • Ubuntu 16.04: sudo nano /etc/post­gres­ql/9.5/main/post­gres­ql.conf
  • CentOS 7: sudo nano /usr/pgsql-10/share/post­gres­ql.conf

Über­prü­fen Sie die listen_address-Kon­fi­gu­ra­ti­on. Um TCP/IP-Ver­bin­dun­gen zu­zu­las­sen, sollte diese auf „0.0.0.0.0.0“ (um Ver­bin­dun­gen von allen IP-Adressen zu­zu­las­sen) oder auf die spe­zi­fi­sche IP-Adresse des Servers ein­ge­stellt werden, der zu­ge­las­sen werden soll.

Wenn diese Kon­fi­gu­ra­ti­on leer gelassen oder auf localhost gesetzt wird, erlaubt Post­greS­QL keine externen TCP/IP-Ver­bin­dun­gen. Dies ent­spricht auch der Vor­ein­stel­lung von Post­greS­QL.

Post­greS­QL kann auch keine Ver­bin­dung zum Server her­stel­len, wenn die Ver­bin­dung durch eine Firewall blockiert wird. Beachten Sie, dass alle Cloud Server von der stan­dard­mä­ßi­gen Firewall-Richt­li­nie betroffen sind, die über das Cloud Panel gesteuert wird.

Cloud Backup powered by Acronis
Mi­ni­mie­ren Sie Aus­fall­zei­ten mit unserem Kom­plett­schutz
  • Au­to­ma­tisch: Backups und Recovery
  • Intuitiv: Planung und Ma­nage­ment
  • In­tel­li­gent: KI-basierter Be­dro­hungs­schutz
  • Inkl. 300,- € Start­gut­ha­ben im 1. Monat
Zum Hauptmenü