such - var run postgresql 5432 no response




Psql konnte keine Verbindung zum Server herstellen: Keine solche Datei oder Verzeichnis, 5432 Fehler? (8)

Ich versuche, psql auf meinem Vagrant-Rechner auszuführen, erhalte jedoch folgende Fehlermeldung:

psql: could not connect to server: No such file or directory

Is the server running locally and accepting connections on 
Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Hinweis: Vagrant 1.9.2-Box: ubuntu / trusty64, https://atlas.hashicorp.com/ubuntu/boxes/trusty64

EDIT- Befehle, die ich verwendet habe, um postgres zu installieren und auszuführen:

  • sudo apt-get update
  • sudo apt-get install postgresql
  • sudo su postgres
  • psql -d postgres -U postgres

Ich hatte das gleiche Problem, aber keine der Antworten hier half.

Wie ich es behoben habe (Mac)

  • Versuchen Sie, postgresql mit pg_ctl -D /usr/local/var/postgres start
  • Suchen Sie nach der Fehlermeldung , die so etwas wie FATAL: could not open directory "pg_tblspc": No such file or directory sagt FATAL: could not open directory "pg_tblspc": No such file or directory .
  • Erstellen Sie das fehlende Verzeichnis mkdir /usr/local/var/postgres/pg_tblspc
  • Wiederholen Sie den Vorgang ab Schritt 1, bis Sie alle fehlenden Verzeichnisse erstellt haben
  • Wenn Sie fertig sind und dann versuchen, postgresql erneut zu starten, könnte FATAL: lock file "postmaster.pid" already exists
  • Löschen Sie postmaster.pid : rm /usr/local/var/postgres/postmaster.pid
  • Starten Sie postgres mit: pg_ctl -D /usr/local/var/postgres start
  • Fertig ✨

Öffnen Sie Ihren Datenbankmanager und führen Sie dieses Skript aus

update pg_database set datallowconn = 'true' where datname = 'your_database_name';

Das funktioniert bei mir:

sudo systemctl start postgresql@9.5-main

Ich hatte das gleiche Problem im Zusammenhang mit der Konfiguration meiner Datei pg_hba.conf (in /etc/postgresql/9.6/main ). Bitte beachten Sie, dass 9.6 die von mir verwendete Postgresql-Version ist.

Der Fehler selbst hängt mit einer Fehlkonfiguration von postgresql zusammen, die dazu führt, dass der Server abstürzt, bevor er gestartet wird.

Ich würde vorschlagen, diese Anweisungen zu befolgen:

  1. Stellen Sie mit sudo service postgresql start dass der postgresql-Dienst ausgeführt wird
  2. Führen Sie pg_lsclusters von Ihrem Terminal aus
  3. Überprüfen Sie, welchen Cluster Sie ausführen. Die Ausgabe sollte ungefähr so ​​aussehen:

    Version - Cluster Port Status Eigentümerdatenverzeichnis

    9.6 ------- main - 5432 online postgres /var/lib/postgresql/9.6/main

    Ignorieren Sie die '---' Zeichen, da sie dort nur zur Ausrichtung verwendet werden. Die wichtigen Informationen sind die Version und der Cluster. Sie können auch in der Statusspalte überprüfen, ob der Server ausgeführt wird oder nicht.

  4. Kopieren Sie die Informationen aus der Version und dem Cluster und verwenden Sie sie wie pg_ctlcluster <version> <cluster> start : pg_ctlcluster <version> <cluster> start . In meinem Fall wäre dies also pg_ctlcluster 9.6 main start , wenn Sie Version 9.6 und Cluster 'main' verwenden
  5. Wenn etwas nicht stimmt, generiert postgresql ein Protokoll, auf das unter /var/log/postgresql/postgresql-<version>-main.log werden kann. In meinem Fall wäre der vollständige Befehl also sudo nano /var/log/postgresql/postgresql-9.6-main.log .
  6. Die Ausgabe sollte zeigen, was der Fehler ist.

    2017-07-13 16:53:04 BRT [32176-1] LOG: Ungültige Authentifizierungsmethode "all"
    2017-07-13 16:53:04 BRT [32176-2] KONTEXT: Zeile 90 der Konfigurationsdatei "/etc/postgresql/9.5/main/pg_hba.conf"
    2017-07-13 16:53:04 BRT [32176-3] FATAL: pg_hba.conf konnte nicht geladen werden

  7. Beheben Sie die Fehler und starten Sie den postgresql-Dienst über sudo service postgresql restart sollte in Ordnung sein.

Ich habe viel gesucht, um dies zu finden, Kredit geht an diesen post .

Viel Glück!


Ich konnte das Problem lösen, indem ich Folgendes ausführte:

pg_ctl -D /usr/local/var/postgresql@9.6 stop;
brew services stop postgresql@9.6;
brew services start postgresql@9.6;

Ich poste dies nur für alle, die sich verloren und hoffnungslos fühlen, wie ich es tat, als ich diese Frage fand. Es scheint, dass manchmal durch Bearbeiten einiger mit psotgresql zusammenhängender Konfigurationsdateien versehentlich die Berechtigungen der Datei geändert werden können:

Beachten Sie, dass pg_hba.conf zu root gehört und Benutzer es nicht einmal lesen können. Dies führt dazu, dass postgres diese Datei nicht öffnen und daher den Server nicht starten kann, wodurch der in der ursprünglichen Frage festgestellte Fehler ausgelöst wird.

Durch Laufen

sudo chmod +r pg_hba.conf

Ich konnte diese Datei für den Benutzer postgres wieder zugänglich machen und anschließend ausführen

sudo service postgresql start

Konnte den Server wieder zum Laufen bringen.


Installieren Sie einfach Ihre pgsql mit der direkten Version sudo apt-get install postgresql-9.5 (Sie müssen das Paket entfernen, bevor Sie ein neues installieren)


Mir ist dasselbe passiert, als ich etwas in der Datei /etc/hosts geändert habe. Nach dem 127.0.0.1 localhost auf 127.0.0.1 localhost es bei mir funktioniert.





vagrant