it-swarm.com.de

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

Ich versuche, psql auf meinem Vagrant-Computer auszuführen, erhalte jedoch die 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.2Box: ubuntu/trusty64, https://atlas.hashicorp.com/ubuntu/boxes/trusty64

EDIT Befehle, die ich zum Installieren und Ausführen von Postgres verwendet habe:

  • Sudo apt-get update
  • Sudo apt-get install postgresql
  • Sudo su postgres
  • psql -d postgres -U postgres
45
Saša Kalaba

Ich hatte das gleiche Problem, das sich auf die Konfiguration meiner Datei pg_hba.conf (in /etc/postgresql/9.6/main) bezog. Bitte beachten Sie, dass 9.6 die Postgresql-Version ist, die ich verwende.

Der Fehler selbst hängt mit einer falschen Konfiguration von postgresql zusammen, die dazu führt, dass der Server vor dem Start abstürzt.

Ich würde vorschlagen, diesen Anweisungen zu folgen:

  1. Bestätigen Sie, dass der Postgresql-Dienst ausgeführt wird, indem Sie Sudo service postgresql start verwenden. 
  2. Führen Sie pg_lsclusters von Ihrem Terminal aus
  3. Überprüfen Sie den Cluster, den Sie ausführen. Die Ausgabe sollte etwa wie folgt aussehen:

    Version - Verzeichnis der Cluster-Port-Statuseigentümer 

    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 überprüfen, ob der Server in der Statusspalte ausgeführt wird oder nicht.

  4. Kopieren Sie die Informationen aus der Version und dem Cluster und verwenden Sie sie wie folgt: pg_ctlcluster <version> <cluster> start. In meinem Fall wäre dies mit Version 9.6 und Cluster 'main' pg_ctlcluster 9.6 main start.
  5. Wenn etwas nicht stimmt, erzeugt postgresql ein Protokoll, auf das über /var/log/postgresql/postgresql-<version>-main.log zugegriffen werden kann. In meinem Fall wäre der vollständige Befehl Sudo nano /var/log/postgresql/postgresql-9.6-main.log.
  6. Die Ausgabe sollte anzeigen, 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] CONTEXT: 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 neu.

Ich habe viel gesucht, um das herauszufinden, die Gutschrift geht an diese post .

Viel Glück!

76
malvadao

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

Wie ich es repariert habe (Mac)

  • Versuchen Sie, postgresql mit pg_ctl -D /usr/local/var/postgres start zu starten. 
  • Suchen Sie nach der Fehlermeldung die etwas wie FATAL: could not open directory "pg_tblspc": No such file or directory sagt.
  • 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 versuchen, postgresql erneut zu starten, können Sie vielleichtFATAL: lock file "postmaster.pid" already exists sagen.
  • Löschen Sie postmaster.pid : rm /usr/local/var/postgres/postmaster.pid
  • Postgres starten mit: pg_ctl -D /usr/local/var/postgres start
  • Fertig ✨
7
martinlasek

Zeigt der /etc/postgresql/9.6/main/postgresql.conf den zugewiesenen Port an? Bei meiner Standardinstallation von Xubuntu Linux zeigte meine Port = 5433 aus irgendeinem Grund so gut wie ich mich erinnern kann, aber ich habe die Zeile in derselben Datei auskommentiert, die listen_addresses = 'localhost' und die Zeile listen_addresses = '*' auskommentiert hat. Also vielleicht anfangen und dort nachsehen. Hoffentlich hilft das.

4
J2112O

Ich poste dies nur für jeden, der sich verloren und hoffnungslos fühlt, als ich diese Frage fand. Es scheint, dass durch das Bearbeiten einiger Konfigurationsdateien, die sich auf psotgresql beziehen, die Berechtigungen der Datei versehentlich geändert werden können:

 enter image description here

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

Laufen

Sudo chmod +r pg_hba.conf

Ich konnte diese Datei noch einmal für den Postgres-Benutzer zugänglich machen und dann nach dem Laufen

Sudo service postgresql start

Konnte den Server wieder zum Laufen bringen.

2
wfgeo

verwenden Sie den folgenden Befehl 

rm -rf/usr/local/var/postgres && initdb/usr/local/var/postgres

1
Gaurav Verma

Das funktioniert bei mir:

pg_ctl -D /usr/local/var/[email protected] stop;
brew services stop [email protected];
brew services start [email protected];
1
MevlütÖzdemir

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

update pg_database set datallowconn = 'true' where datname = 'your_database_name';
1
Nasser Abdou

Dasselbe passierte mir, als ich etwas in der /etc/hosts-Datei geändert hatte. Nachdem ich es wieder in 127.0.0.1 localhost geändert hatte, funktionierte es für mich.

1
coderanger

Ich hatte den gleichen Fehler, wenn ich die SQL-Datenbank in einer virtuellen Maschine erstelle. Ich hatte den Standardwert von /etc/postgresql/9.3/main/postgresql.conf shared_buffers = 200MB auf 75% meines gesamten Arbeitsspeichers geändert. Nun, ich habe vergessen, das RAM tatsächlich in der VM zuzuweisen. Als ich den Befehl erteilte, eine neue Datenbank zu erstellen, erhielt ich den gleichen Fehler.

Ausgeschaltet, gab dem Baby seine Flasche (RAM) und Presto, es funktionierte. 

0
CENTURION

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

Sudo systemctl start [email protected]
0
Eugene Lem

installieren Sie einfach Ihr pgsql mit der direkten Sudo-Version apt-get install postgresql-9.5 (Sie müssen das Paket entfernen, bevor Sie eine neue installieren) 

0
Vitaly Kholodov

Innerhalb von zsh:

rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8

Dies ist das einzige, was bei mir nach unzähligen Stunden der Fehlersuche funktioniert hat.

0
Tucker Watts