Ich habe nach einer Lösung dafür gesucht und konnte keine funktionierende Lösung finden.
Ich habe Postgres mit Brew ( brew install postgres
) in meinem MacBook installiert und führe es derzeit mit brew services list
Brew- Diensten aus ( zeigt Postgres als laufenden Dienst an). Wenn ich jedoch versuche auszuführen psql
, wird folgende Fehlermeldung angezeigt.
psql: Verbindung zum Server konnte nicht hergestellt werden: Keine solche Datei oder kein solches Verzeichnis Wird der Server lokal ausgeführt und akzeptiert Verbindungen auf dem Unix-Domain-Socket "/tmp/.s.PGSQL.5432"?
Hat jemand schon ein ähnliches Problem gelöst?
quelle
tail /usr/local/var/log/postgres.log
. Dies kann Ihnen weitere Informationen darüber geben, warum Postgres fehlschlägt. Normalerweise können Sie die Fehlermeldung aus diesem Protokoll in Google veröffentlichen und einen weiteren Fix für StackOverflow finden :-DIch bin heute auf dieses Problem gestoßen. postgres akzeptierte keine Verbindungen mehr, obwohl Homebrew dachte, dass es läuft.
Um es zu beheben, lief ich,
Ausgabe von diesem Befehl,
Dann dachte ich, hmm, vielleicht ist etwas in dieser Protokolldatei,
Sicher genug,
[4826] FATAL: lock file "postmaster.pid" already exists [4826] HINT: Is another postmaster (PID 1489) running in data directory "/usr/local/var/postgres"?
Also habe ich diese Datei entfernt
Und alles fing wieder an zu funktionieren.
quelle
tail -n 10 /usr/local/var/log/postgres.log
In meinem Fall war die
postmaster.pid
Datei nicht einmal da. Habe es durch ein Upgrade von Postgres zum Laufen gebracht.brew update brew upgrade
Da ich dann die Hauptversion von 10 auf 11 aktualisiert habe, musste ich auch Folgendes ausführen:
(Quelle https://github.com/facebook/react-native/issues/18760#issuecomment-410533581 )
quelle
/usr/local/var/log/postgres.log
Datei möglicherweise die letzten Protokolle:FATAL: database files are incompatible with server
DETAIL: The data directory was initialized by PostgreSQL version 11, which is not compatible with this version 12.2.
Ich würde die beiden Antworten von Wilson und Grasshopper hier kombinieren.
Sie können die Plist-Datei für den Postgres-Dienst überprüfen, indem
brew services list
Sie den Speicherort der Datei ermitteln und sie einfach in Ihrem bevorzugten Editor öffnen.Sie sollten den Wert von wie
StandardErrorPath
folgt sehen:Und dann sollten Sie das Ende der Protokolldatei mit verfolgen
tail -n 100 /usr/local/var/log/postgres.log
In meinem Fall war der Fehler der folgende:
Dies lag daran, dass ich meinen Mac hart herunterfahren musste und postgres keine Chance hatte, die PID-Datei zu bereinigen. Entfernen Sie einfach die PID-Datei
rm /usr/local/var/postgres/postmaster.pid
und starten Sie postgresbrew 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 ausführen
brew services stop postgresql
und dann darauf warten, dass das Ergebnisbrew services list
angezeigt wird, dass posgres im gestoppten Zustand ist.quelle
Was für mich funktionierte, war das Entfernen des
/usr/local/var/postgres/
Ordners und das Deinstallieren und erneute Installieren von postgresquelle
Ich habe den gleichen Fehler bei der Installation von postgresql93 von den Versionen tap erhalten. Beim Überprüfen der in der Ausgabe von
brew services list
(~/Library/LaunchAgents/homebrew.mxcl.postgresql93.plist
) angegebenen .plist-Datei wurde die folgende Meldung gefunden:Was mich zu dieser Antwort führte: Das Datenverzeichnis "/ usr / local / var / postgres" hat einen falschen Besitz
Nach dem Ausführen habe
sudo chmod -R 700 /usr/local/var/postgres
ich einen anderen Fehler erhalten:Was mich dann zu folgendem führte: `pg_tblspc` fehlt nach der Installation der neuesten Version von OS X (Yosemite oder El Capitan)
Nach dem Ausführen wurde
mkdir /usr/local/var/postgres/pg_tblspc/
der Cluster erfolgreich gestartet.quelle
Aktualisieren Sie es mit dem Befehl
Wenn Sie den folgenden Fehler haben Befehl 'Brew' wurde nicht gefunden, kann aber installiert werden mit: sudo apt install linuxbrew-wrapper
Installieren Sie es dann mit dem Befehl
sudo apt install linuxbrew-wrapper
quelle
Wenn Sie mehrere Versionen von postgresql haben, können Sie mit den folgenden Befehlen pid entfernen und neu starten. Stellen Sie einfach sicher, dass Sie die richtige Version auswählen.
quelle
In meinem Fall
postgres.log
enthält die Datei Folgendes:HINT: Is another postmaster already running on port 5432? If not, remove socket file "/tmp/.s.PGSQL.5432" and retry.
Nach dem Entfernen der Socket-Datei und dem Neustart hat alles einwandfrei funktioniert. Beachten Sie, dass dies eine versteckte Datei ist und im Fensterbrowser nicht sichtbar ist. Das Entfernen sollte über die Befehlszeile erfolgen.quelle