PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

psql:Verbindung zum Server konnte nicht hergestellt werden:Keine solche Datei oder Verzeichnis (Mac OS X)

WARNUNG:Wenn Sie postmaster.pid löschen, ohne sich zu vergewissern, dass wirklich keine postgres vorhanden sind Prozesse, die Sie ausführen, könnten Ihre Datenbank dauerhaft beschädigen . (PostgreSQL sollte es automatisch löschen, wenn der Postmaster beendet wurde.).

LÖSUNG:Dadurch wurde das Problem behoben – ich habe diese Datei gelöscht und dann funktionierte alles!

/usr/local/var/postgres/postmaster.pid

--

und hier ist, wie ich herausgefunden habe, warum dies gelöscht werden musste.

  1. Ich habe den folgenden Befehl verwendet, um zu sehen, ob PG-Prozesse ausgeführt werden. bei mir gab es keine, ich konnte nicht einmal den PG-Server starten:

    ps auxw | grep post
    
  2. Ich habe nach der Datei .s.PGSQL.5432 gesucht, die in der obigen Fehlermeldung enthalten war. Ich habe den folgenden Befehl verwendet:

    sudo find / -name .s.PGSQL.5432 -ls
    

    Dies zeigte nichts, nachdem ich meinen gesamten Computer durchsucht hatte, sodass die Datei nicht existierte, aber offensichtlich psql "wollte es" oder "dachte es wäre da".

  3. Ich habe mir meine Serverprotokolle angesehen und den folgenden Fehler gesehen:

    cat /usr/local/var/postgres/server.log
    

    am Ende des Serverlogs sehe ich folgenden Fehler:

    FATAL:  pre-existing shared memory block (key 5432001, ID 65538) is still in use
    HINT:  If you're sure there are no old server processes still running, remove the shared memory block or just delete the file "postmaster.pid".
    
  4. Dem Hinweis in der Fehlermeldung folgend habe ich die Datei postmaster.pid im gleichen Verzeichnis wie server.log gelöscht. Dadurch wurde das Problem behoben und ich konnte neu starten.

Es scheint also, dass das Einfrieren meines Macbooks und ein harter Neustart dazu führten, dass Postgres dachte, dass seine Prozesse auch nach dem Neustart noch liefen. Das Löschen dieser Datei wurde behoben. Hoffe das hilft anderen! Viele Leute haben ähnliche Probleme, aber die meisten Antworten hatten mit Dateiberechtigungen zu tun, während in meinem Fall die Dinge anders waren.