Der Fehler in seiner Gesamtheit lautet:
psql: Verbindung zum Server konnte nicht hergestellt werden: Keine solche Datei oder kein solches Verzeichnis. Läuft der Server lokal und akzeptiert er Verbindungen auf dem Unix-Domain-Socket "/tmp/.s.PGSQL.5432"?
Dies ist mein zweites Mal, dass ich Postgresql über Homebrew auf meinem Mac einrichte, und ich habe keine Ahnung, was los ist. Zuvor hatte es funktioniert. Irgendwann muss ich einen Befehl eingegeben haben, der die Dinge durcheinander gebracht hat. Ich bin mir nicht sicher. Wenn ich jetzt einen SQL-Befehl über die Befehlszeile eingebe, erhalte ich die obige Meldung. Ich habe einen Befehl ausgeführt, um zu überprüfen, ob der Server ausgeführt wird, und dies ist anscheinend nicht der Fall. Wenn ich versuche, den Server mit zu starten
$ postgres -D / usr / local / pgsql / data
Ich erhalte folgende Fehlermeldung:
postgres kann nicht auf die Serverkonfigurationsdatei "/usr/local/pgsql/data/postgresql.conf" zugreifen: Keine solche Datei oder kein solches Verzeichnis
Ich habe Postgresql über Homebrew deinstalliert und neu installiert, aber das Problem besteht weiterhin. Ich bin völlig ratlos, wie ich das hinbekomme. Jede Hilfe wäre dankbar.
quelle
brew services
Befehl war nicht hilfreich, weil es so aussah, als würde alles funktionieren. Das Entfernen derpostmaster.pid
hat endlich alles wieder zum Laufen gebracht. Vielen Dank!Die Antwort ist da .
Führen Sie diesen Befehl aus, um den Server manuell zu starten:
quelle
Mir ging es genauso
Schleife von Homebrew installieren / starten / stoppen / neu starten ohne Erfolg ...
Schließlich hat es
brew postgresql-upgrade-database
funktioniert.Anscheinend war ich auf 9.6 anstatt auf 10.4 und mein letzter Neustart im App Store hat alle meine Datenbankserver neu gestartet ...
quelle
brew postgresql-upgrade-database
hat mir gefehlt. Vielen Dank für den Hinweis.Ich habe gerade das gleiche Problem gelöst. Es liegt nur daran, dass ich vergessen habe , es vor der Verwendung ordnungsgemäß auszuführen .
Für die reine Installation
postgresql
unter Mac OS lautet der Vorgang (mit dem Befehl brew ):dann, wenn Sie automatisch
postgresql
bei der Anmeldung ausgeführt werden möchten :oder Sie möchten es einfach ausführen, wann immer Sie möchten:
Wenn Ihr Fall komplizierter ist,
brew uninstall postgresql
wiederholen Sie diese Schritte.Ich hoffe es hilft!
quelle
brew services start postgresql
ist jetzt der bevorzugte Weg , Postgres bei der Anmeldung zu beginnenIch habe den oben genannten Fehler immer wieder festgestellt und keine der oben genannten Lösungen hat für mich funktioniert. Schließlich hat die folgende Lösung mein Problem unter Mac OS X gelöst
Installieren Sie Postgres mit Brew
Installieren Sie die Brühdienste
So starten Sie postgres als Hintergrunddienst
Um Postgres manuell zu stoppen
Wir können auch Brau-Services verwenden, um Postgres neu zu starten
quelle
Dies passiert, wenn der Postgres-Server nicht läuft. Schritte zum korrekten Installieren von Postgres über Homebrew auf MAC:
brew install postgres
initdb /Users/<username>/db -E utf8
[Dies initialisiert postgres, um das angegebene Verzeichnis als Datenbankverzeichnis zu verwenden. Normalerweise wird davon abgeraten, das Benutzerverzeichnis für die Datenbankspeicherung zu verwenden. Bearbeiten Sie die sudoers-Datei, um initdb und ähnliche Befehle hinzuzufügen, und führen Sie dann initdb unter / usr / local / var / postgres aus.pg_ctl -D /Users/<username>/db -l logfile start
[Nachdem Sie mit Schritt 2 erfolgreich waren, werden Sie aufgefordert, Schritt 3 auszuführen. Dieser Befehl startet den Server manuell.]quelle
Es hat bei mir funktioniert. Ändern Sie Ihr postgresql-Verzeichnis entsprechend der Version in Ihrem System.
Gemeinsamer Pfad
rm /usr/local/var/postgres/postmaster.pid
aber für [email protected] in meinem systempfad steht
rm /usr/local/var/[email protected]/postmaster.pid
starte [email protected] neu
brew services restart [email protected]
quelle
Ich kommentiere gerade in /etc/postgresql/9.5/main/postgresql.conf aus
und starte postgres neu. Und bei mir funktioniert es.
quelle
vor kurzem bin ich durch ein ähnliches Problem gegangen. Es gibt nur ein anderes Problem und eine andere Lösung. Ich habe 2 Versionen von postgres (9.3 und 9.6) ausgeführt, obwohl der Server auf 2 verschiedene Ports eingestellt war, aber einige, wie der psql-Befehl bei Bash versucht, eine Verbindung zum Standardport 5432 herzustellen. Überprüfen Sie, ob Ihr Server ausgeführt wird und prüfen Sie, ob er ausgeführt wird Ihre Port-Einstellungen, dann ausführen
psql -p <port> postgres
. Die Lösung ändert den Port.quelle
Ich habe lange gesucht, und das war die sauberste und sauberste Lösung:
Ich habe kürzlich ein Upgrade von Postgres von 9.2 auf 9.3 mit Brew Upgrade Postgres durchgeführt. Der Prozess verlief reibungslos und pg_upgrade ist ein sehr nützliches Tool.
Es gab jedoch Probleme, als ich versuchte, die Spezifikationen auszuführen, die für die Verbindung mit Postgres erforderlich waren. Obwohl Postgres definitiv lief, bekam ich plötzlich:
Verbindung zum Server konnte nicht hergestellt werden: Keine solche Datei oder kein solches Verzeichnis (PG :: ConnectionBad) Wird der Server lokal ausgeführt und akzeptiert Verbindungen auf dem Unix-Domain-Socket "/var/pgsql_socket/.s.PGSQL.5432"? Das Problem war, dass die neue Version von Postgres stattdessen auf /tmp/.s.PGSQL.5432 lauscht. Ich hätte mit der Konfiguration herumspielen und Postgres dazu bringen können, den zuvor verwendeten Domain-Socket zu verwenden, oder Rails explizit mitteilen können, wie eine Verbindung hergestellt werden soll, aber diese beiden Ansätze schienen Arbeit zu sein, die ich nicht tun müsste. Zu keinem Zeitpunkt hatte ich Rails angewiesen, sich auf diesem Weg mit Postgres zu verbinden, Rails hatte es angenommen, und jetzt waren seine Annahmen falsch.
Das Update ist einfach, wenn auch ein wenig überraschend. Wenn Sie das Gem 'pg' installieren, erkennt es, welche Version von Postgres installiert ist, und legt den Domain-Socket-Pfad entsprechend fest. Die Lösung ist so einfach wie die Neuinstallation des Edelsteins.
$ gem uninstall pg $ cd my-rails-app/ $ bundle install
http://daniel.fone.net.nz/blog/2014/12/01/fixing-connection-errors-after-upgrade-postgres/
quelle
Aktualisieren Sie es mit dem Befehl
Wenn Sie folgenden Fehler haben, wird der Befehl 'brew' nicht gefunden, kann aber mit folgendem Befehl installiert werden: sudo apt install linuxbrew-wrapper
Installieren Sie es dann mit dem Befehl
quelle
Die folgenden Schritte helfen mir:
deinstallieren postgresql installieren postgresql installieren postgresql-upgrade-datenbank
quelle