Nach dem Neustart meines MacBook Pro kann ich den Datenbankserver nicht starten:
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
Ich habe die Protokolle überprüft und die folgende Zeile wird immer wieder angezeigt:
FATAL: database files are incompatible with server
DETAIL: The data directory was initialized by PostgreSQL version 9.2, which is not compatible with this version 9.0.4.
9.0.4 war die Version, die auf dem Mac vorinstalliert war. 9.2 [.4] ist die Version, die ich über Homebrew installiert habe. Wie bereits erwähnt, funktionierte dies vor dem Neustart, sodass es sich nicht um ein Kompilierungsproblem handeln kann. Ich habe auch erneut ausgeführt initdb /usr/local/var/postgres -E utf8
und die Datei existiert noch.
Leider bin ich ziemlich neu bei Postgres, daher wäre jede Hilfe sehr dankbar.
macos
postgresql
homebrew
klaffenboeck
quelle
quelle
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
- und die Antwort istserver starting
pg_ctl
bin ich mir ziemlich sicher, dass Sie 2 Kopien finden werden. Und die eine, die passt,which pg_ctl
wird die alte Version sein, und die andere wird die neue Version sein.pg_ctl --version
gibtpg_ctl (PostgreSQL) 9.2.4
Server.app
und es versteckt, um einen nicht standardmäßigen Port und ein Unix-Socket-Verzeichnis zu verwenden. Schließlich!Antworten:
Wenn Sie kürzlich von 10.x auf 11 oder 12 aktualisiert haben, können Sie den folgenden Befehl ausführen, um Ihr Postgres-Datenverzeichnis zu aktualisieren und alle Daten beizubehalten:
Der obige Befehl wird aus der Ausgabe von übernommen
brew info postgres
quelle
brew postgresql-upgrade-database
neu startenbrew info
.Wenn Sie nach der nuklearen Option suchen (alle Daten löschen und eine neue Datenbank erhalten), können Sie Folgendes tun:
rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8
und dann müssen Sie von
rake db:setup
und zurake db:migrate
Ihrer Rails-App, um das Setup erneut zu erhalten.quelle
createuser -s your_rails_app
, um den Postgres-Benutzer der Rails zu erstellen. Siehe stackoverflow.com/questions/11919391/…Versuchen Sie Folgendes: https://gist.github.com/joho/3735740
Es hat perfekt für mich funktioniert. Am Ende werden außerdem 2 Bash-Skripte generiert, mit denen Sie Ihre Datenbank überprüfen und den alten Cluster entfernen können. Wirklich unglaublich.
Weitere Informationen finden Sie unter: http://www.postgresql.org/docs/9.2/static/pgupgrade.html .
quelle
Diese im Internet gefundene Lösung funktioniert gut für mich.
Als ich nach dem Upgrade auf OS X 10.10 Yosemite versuchte, den Postgresql-Server zu starten, trat ein nächstes Problem auf:
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
Okay, werfen wir einen Blick in die Serverprotokolle:
cat /usr/local/var/postgres/server.log
Nach dem Upgrade von postgresql müssen wir also einige Schritte ausführen:
Das ist es.
quelle
Wenn Sie die vorherige Version von postgres beibehalten möchten, verwenden Sie
brew switch
:Andernfalls sollten Sie diesen Brew-Befehl berücksichtigen, um vorhandene Daten zu migrieren :
brew postgresql-upgrade-database
. Überprüfen Sie den Quellcode .quelle
Es passierte für mich, als ich versuchte, Postgres12 mit postgres11 gemountetem Volume zu starten. Nur das gemountete Volume für postgres11 zu löschen und neu zu starten, hat bei mir funktioniert.
Zuvor habe ich verwendet:
Ich habe / Users / champ / postgres gelöscht und postgres 12 mit neu gestartet
quelle