Es kann keine Verbindung zum Postgres-Server hergestellt werden, auf dem die Brau-Services ausgeführt werden

10

Ich habe nach einer Lösung gesucht und konnte keine funktionierende Lösung finden.

Ich habe postgres mit brew ( brew install postgres ) in meinem MacBook installiert und verwende es derzeit mit brauservice ( brew services list zeigt postgres als laufenden Dienst an). Wenn ich versuche, psql auszuführen, erhalte ich den folgenden Fehler.

  

psql: Verbindung zum Server konnte nicht hergestellt werden: Keine solche Datei oder Verzeichnis ist das   Server wird lokal ausgeführt und akzeptiert Verbindungen in der Unix-Domäne   Socket "/tmp/.s.PGSQL.5432"?

Hat jemand schon ähnliches Problem gelöst?

    
leo.fcx 26.09.2016, 19:00
quelle

3 Antworten

20

Ich hatte den gleichen Fehler und habe es behoben, indem ich die Prozess-PID-Datei entfernt habe:

rm -f /usr/local/var/postgres/postmaster.pid

    
Wilson Silva 23.01.2017 10:45
quelle
2

Ich habe den gleichen Fehler bei der Installation von postgresql93 aus den Tap-Versionen. Bei der Überprüfung der .plist-Datei, die in der Ausgabe von brew services list ( ~/Library/LaunchAgents/homebrew.mxcl.postgresql93.plist ) angegeben ist, habe ich die folgende Nachricht gefunden:

  

FATAL: Das Datenverzeichnis "/ usr / local / var / postgres" hat Gruppen- oder Weltzugriff   DETAIL: Berechtigungen sollten u = rwx (0700) sein.

Was mich zu dieser Antwort geführt hat: data directory "/ usr / local / var / postgres "hat eine falsche Eigentümerschaft

Nach dem Ausführen von sudo chmod -R 700 /usr/local/var/postgres habe ich einen anderen Fehler bekommen:

  

FATAL: konnte Verzeichnis "pg_tblspc" nicht öffnen: Keine solche Datei oder Verzeichnis

Was mich dann zu: 'pg_tblspc' fehlt nach der Installation der neuesten Version von OS X (Yosemite oder El Capitan)

Nach dem Ausführen von mkdir /usr/local/var/postgres/pg_tblspc/ wurde der Cluster erfolgreich gestartet.

    
Grasshopper 09.11.2016 23:04
quelle
2

Ich würde die zwei Antworten von Wilson und Grasshopper hier kombinieren.

Sie können die PLIST-Datei für den Postgres-Service mit brew services list überprüfen, um den Speicherort der Datei zu finden und sie einfach in Ihrem bevorzugten Editor zu öffnen.

Sie sollten den Wert von StandardErrorPath als aufgelistet sehen:

%Vor%

Und dann sollten Sie das Ende der Protokolldatei mit tail -n 100 /usr/local/var/log/postgres.log

beenden

In meinem Fall war der Fehler der folgende:

  

2017-12-06 11: 51: 16.078 GMT [85476] FATAL: Die Sperrdatei "postmaster.pid" existiert bereits   2017-12-06 11: 51: 16.078 GMT [85476] HINWEIS: Wird ein anderer Postmaster (PID 601) im Datenverzeichnis "/ usr / local / var / postgres" ausgeführt?

Das war, weil ich meinen Mac herunterfahren musste und Postgres keine Möglichkeit hatte, die PID-Datei zu säubern. Entfernen Sie einfach die PID-Datei rm /usr/local/var/postgres/postmaster.pid und starten Sie postgres brew services start postgresql

Ein Wort der Warnung: Löschen Sie diese PID-Datei nur, wenn Sie sicher sind, dass Postgres nicht ausgeführt wird . Sie können dies tun, indem Sie brew services stop postgresql ausführen und dann auf das Ergebnis von brew services list warten, um anzuzeigen, dass posgres im gestoppten Zustand ist.

    
real_ate 06.12.2017 11:56
quelle

Tags und Links