Ein kleines Problem mit PostgreSQL unter Mac OS X 10.8.4. Ich habe es versehentlich getan, brew rm postgresql --force
während der Postgres-Server lief. Wenn ich mit installiert brew install postgresql
und ausgeführt pg_ctl -D /usr/local/var/postgres start
habe, bekomme ich:
pg_ctl: another server might be running; trying to start server anyway
server starting
FATAL: lock file "postmaster.pid" already exists
HINT: Is another postmaster (PID 752) running in data directory "/usr/local/var/postgres"?
Wenn ich "ps -ef | grep postgres" starte, bekomme ich:
501 752 235 0 12:42PM ?? 0:00.01 /usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres -r /usr/local/var/postgres/server.log
501 754 752 0 12:42PM ?? 0:00.00 postgres: checkpointer process
501 755 752 0 12:42PM ?? 0:00.34 postgres: writer process
501 756 752 0 12:42PM ?? 0:00.02 postgres: wal writer process
501 757 752 0 12:42PM ?? 0:00.01 postgres: autovacuum launcher process
501 758 752 0 12:42PM ?? 0:00.01 postgres: stats collector process
501 945 452 0 12:58PM ttys000 0:00.00 grep postgres
wenn ich versuche den Server zu stoppen mit pg_ctl stop -D /usr/local/var/postgres -m fast
oder pg_ctl -D /usr/local/var/postgres stop -mi
ich bekomme:
waiting for server to shut down........................................... Failed
pg_ctl: server does not shut down
BEARBEITEN
which pg_ctl
/usr/local/bin/pg_ctl
pg_ctl --version
pg_ctl (PostgreSQL) 9.2.4
Inhalt von server.log
: https://gist.github.com/anonymous/6106182
postgresql
macos
terminal
Parker Hutchinson
quelle
quelle
pg_ctl -D /usr/local/var/postgres stop -m immediate
man weiter als die beiden anderen Versuche?pg_ctl -D /usr/local/var/postgres stop -mi
und ja, alles was ich bekomme ist "Server fährt nicht herunter"postgres --help
zeigte nicht sofort die "m" -Flagge.brew reinstall postgresql
stackoverflow.com/a/39781473/6086226 arbeitete für michAntworten:
Hatte das gleiche Problem ,
pg_ctl: server does not shut down
. Außerdem wurdeps auxwww | grep postgres
kein Postgres ausgeführt, währendpg_ctl -D /usr/local/var/postgres status
gezeigt wurde, dass Postgres ausgeführt wird. Ein Neustart meines Mac hat nicht geholfen, ich bin sogar so weit gegangen, SMC zurückzusetzen, aber diese SO-Frage / Antwort gab mir eine Idee, worauf ich als nächstes achten sollte: Probleme beim Brauen.Nach diesem Gedankengang fand ich diesen hilfreichen Blog-Beitrag , der sich auf folgende Befehle bezog, die dieses Problem für mich lösten:
Hoffe das wird jemandem helfen.
Update - Unbekannter Befehl: Dienste
Nach einigem Nachforschen nach einem der Kommentare ('Unbekannter Befehl: Dienste') fand ich heraus, dass die Autoren von Homebrew beschlossen, ihn zu entfernen
services
das Repo , da niemand diesen Code beibehalten möchte.Hier und hier können Sie mehr darüber lesen (verwandte Github-Tickets).
Nach einigem Graben fand ich dieses Repo, das
services
auf Macs hinzugefügt wird.So bin ich zurückgekehrt
services
:Hier ist eine weitere vorgeschlagene Lösung: /apple/150300/need-help-using-homebrew-services-command . Ich habe es nicht selbst überprüft, weiß also nicht, ob und wie es funktioniert.
quelle
bundle exec rake pg:stop
. Aber das hat nicht funktioniert und dazu geführtpg_ctl: server does not shut down
. Die Problemumgehungbrew services restart postgresql
hat bei mir funktioniert. 👌$ brew services list
$ brew services stop postgresql
Anhalten
postgresql
, aber es kann eine Weile dauern → Erfolgreich gestopptpostgresql
(label: homebrew.mxcl.postgresql)quelle
pg_ctl ... stop
ohne Erfolg anzuhalten . Sobald ich Brew Services Stop Postgresql ausgeführt habe, funktioniert mein pg_ctl ... Stop jetzt wieder wie erwartet. Ich weiß nicht wie, aber ich bin froh, dass dies das Problem gelöst hat!brew services stop postgresql@10
Ich hatte ein ähnliches Problem. Ich hatte vergessen, dass ich vor ein paar Tagen "Lunchy" integriert hatte und es als Launchctl-Wrapper verwendete, um die Plist
~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
beim Start zu starten. pg_ctl war aufgrund der folgenden Codezeile nicht wirksam<key>KeepAlive<key>
:Der Versuch, den Prozess direkt abzubrechen, funktionierte nicht, da ich die Liste entladen musste.
quelle
homebrew.mxcl.postgresql92.plist
. Überprüfe dich.Ich hatte das gleiche Problem ... das Entfernen des Startagenten löste das Problem für mich:
quelle
Ich habe diesen Fehler mit dem Befehl umgangen
Ich musste die Liste nicht auf diese Weise entladen.
quelle
Es stellte sich heraus, dass meine Brew.plist für Postgres unter ~ / Library / LaunchAgents / entladen und entfernt werden musste. Nach einem Neustart ist alles in Ordnung ... Abschlussfrage.
quelle
Wenn Sie sich auf das von Brew installierte PostgreSQL verlassen, funktioniert der folgende Befehl zum Herunterfahren.
Wie in einer anderen Antwort erwähnt greppen durch die Liste der Prozesse und dann alles , was das Töten Postgres bezogene hat nicht Arbeit.
quelle
Ich hatte nicht über
postgres
begonnenbrew services
, konnte es also nicht aufhalten.Das hat funktioniert.
Verwenden Sie den
-D
Parameter von oben.quelle