Le serveur PostgreSQL ne s'arrêtera pas
Avoir un peu d'un problème avec PostgreSQL sur Mac OS X 10.8.4. J'ai accidentellement fait brew rm postgresql --force
alors que le serveur postgres a été en cours d'exécution. Quand je l'ai installé à l'aide de brew install postgresql
et a couru pg_ctl -D /usr/local/var/postgres start
j'obtiens:
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"?
quand je lance "ps -ef | grep postgres", j'obtiens:
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
quand j'essaie d'arrêter le serveur avec pg_ctl stop -D /usr/local/var/postgres -m fast
ou pg_ctl -D /usr/local/var/postgres stop -mi
j'obtiens:
waiting for server to shut down........................................... Failed
pg_ctl: server does not shut down
MODIFIER
which pg_ctl
/usr/local/bin/pg_ctl
pg_ctl --version
pg_ctl (PostgreSQL) 9.2.4
Essentiel de server.log
: https://gist.github.com/anonymous/6106182
- Ne
pg_ctl -D /usr/local/var/postgres stop -m immediate
aller plus loin que les deux autres tentatives? - Que serait la même que l'exécution de
pg_ctl -D /usr/local/var/postgres stop -mi
et ouais tout ce que j'obtiens est "Serveur ne s'arrête pas" - J'ai deviné, mais un rapide coup d'œil à
postgres --help
n'a pas immédiatement afficher l'indicateur "m". brew reinstall postgresql
stackoverflow.com/a/39781473/6086226 a fonctionné pour moi
Vous devez vous connecter pour publier un commentaire.
Eu le même problème,
pg_ctl: server does not shut down
. En outre,ps auxwww | grep postgres
n'a montré aucune postgres en cours d'exécution, tandis quepg_ctl -D /usr/local/var/postgres status
a montré que postgres est en cours d'exécution. Le redémarrage de mon mac n'a pas d'aide, je suis même allé aussi loin que de réinitialiser le SMC, mais cette SORTE de Q/r m'a donné une idée de ce à regarder pour la prochaine: infuser questions.Suivant cette ligne de pensée, j'ai trouvé ce utile post de blog, qui est descendu à la suite de commandes qui a résolu ce problème pour moi:
Espère que cela aidera quelqu'un.
Mise à jour - commande Inconnue: services
Après une petite enquête à la suite de l'un des commentaires ("Unknown command: services"), j'ai trouvé que les auteurs de Homebrew a décidé de retirer
services
de l'opération, vu que personne ne veut maintenir ce code.Vous pouvez en lire plus à ce sujet ici et ici (liées github billets).
Après certains plus de creuser, j'ai trouvé cette repo qui ajoute
services
sur mac.C'est comment j'ai "retourné"
services
:Voici une autre solution suggérée: https://apple.stackexchange.com/questions/150300/need-help-using-homebrew-services-command. Ne pas vérifier moi-même, donc ne sais pas si et comment il fonctionne.
bundle exec rake pg:stop
. Mais ce n'était pas de travail, conduisant àpg_ctl: server does not shut down
. La solution de contournementbrew services restart postgresql
a fonctionné pour moi.$ brew services list
$ brew services stop postgresql
Arrêt
postgresql
, mais il pourrait prendre un certain temps→ Réussi à arrêter de
postgresql
(label: homebrew.mxcl.postgresql)pg_ctl ... stop
avec en vain. Une fois que j'ai couru brew services d'arrêter postgresql, mon pg_ctl...stop fonctionne comme prévu à nouveau maintenant. Vous ne savez pas comment, mais je suis content que ce résolu!J'ai eu un problème similaire. J'avais oublié que j'ai intégré lunchy' il y a quelques jours et a été en utilisant
comme un launchctl wrapper pour lancer plist
~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
sur démarrer. pg_ctl n'était pas efficace à cause de la ligne de code suivante<key>KeepAlive<key>
:En essayant de tuer le processus directement n'a pas fonctionné parce que j'avais besoin de décharger le plist.
homebrew.mxcl.postgresql92.plist
. Vérifier yoself.J'ai eu le même problème...en supprimant le lancement de l'agent résolu le problème pour moi:
J'ai eu cette erreur à l'aide de la commande
Je n'ai pas besoin de décharger le fichier plist de cette façon.
s'avère que mon infusion.plist pour postgres nécessaires pour être déchargé et retiré dans ~/Library/LaunchAgents/. Après un redémarrage, tout est bien... la fermeture de question.
Quand on s'appuie sur brew-installé PostgreSQL, la commande suivante travaillé pour l'arrêter.
Comme mentionné dans une autre réponse grepping par le biais de la liste des processus et ensuite tuer rien postgres liées ne pas travail.