Avoir un petit problème avec PostgreSQL sur Mac OS X 10.8.4. Je l'ai fait accidentellement brew rm postgresql --force
pendant que le serveur postgres fonctionnait. Lorsque j'ai installé brew install postgresql
et exécuté, 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'essaye 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
ÉDITER
which pg_ctl
/usr/local/bin/pg_ctl
pg_ctl --version
pg_ctl (PostgreSQL) 9.2.4
Contenu essentiel de server.log
: https://gist.github.com/anonymous/6106182
postgresql
macos
terminal
Parker Hutchinson
la source
la source
pg_ctl -D /usr/local/var/postgres stop -m immediate
que ça va plus loin que les deux autres tentatives?pg_ctl -D /usr/local/var/postgres stop -mi
et ouais tout ce que j'obtiens est "Le serveur ne s'arrête pas"postgres --help
n'a pas immédiatement montré le drapeau "m".brew reinstall postgresql
stackoverflow.com/a/39781473/6086226 a travaillé pour moiRéponses:
Avait même question,
pg_ctl: server does not shut down
. En outre,ps auxwww | grep postgres
n'a montré aucun postgres en cours d'exécution, tout enpg_ctl -D /usr/local/var/postgres status
montrant que postgres est en cours d'exécution. Le redémarrage de mon mac n'a pas aidé, je suis même allé jusqu'à réinitialiser SMC, mais ce SO Q / R m'a donné une idée de ce qu'il faut rechercher ensuite: les problèmes de brassage.Suite à cette réflexion, j'ai trouvé cet article de blog utile , qui se résumait aux commandes suivantes qui ont résolu ce problème pour moi:
J'espère que cela aidera quelqu'un.
Mise à jour - Commande inconnue: services
Après un peu d'enquête suite à l'un des commentaires ('Commande inconnue: services'), j'ai découvert que les auteurs de Homebrew avaient décidé de retirer
services
du dépôt, car personne ne voulait maintenir ce code.Vous pouvez en savoir plus ici et ici (tickets github associés).
Après quelques recherches supplémentaires, j'ai trouvé ce repo qui s'ajoute
services
sur les macs.C'est ainsi que j'ai 'retourné'
services
:~ » brew tap gapple/services ~ » brew services usage: [sudo] brew services [--help] <command> [<formula>] Small wrapper around `launchctl` for supported formulae, commands available: cleanup Get rid of stale services and unused plists list List all services managed by `brew services` restart Gracefully restart selected service start Start selected service stop Stop selected service Options, sudo and paths: sudo When run as root, operates on /Library/LaunchDaemons (run at boot!) Run at boot: /Library/LaunchDaemons Run at login: /Users/user/Library/LaunchAgents
Voici une autre solution suggérée: /apple/150300/need-help-using-homebrew-services-command . Je ne l'ai pas vérifié moi-même, alors je ne sais pas si et comment cela fonctionne.
la source
bundle exec rake pg:stop
. Mais cela ne fonctionnait pas, menant àpg_ctl: server does not shut down
. La solution de contournement abrew services restart postgresql
fonctionné pour moi. 👌$ brew services list
$ brew services stop postgresql
Arrêt
postgresql
, mais cela peut prendre un certain temps → Arrêt réussipostgresql
(label: homebrew.mxcl.postgresql)la source
pg_ctl ... stop
sans succès. Une fois que j'ai exécuté les services de brassage stop postgresql, mon pg_ctl ... stop fonctionne à nouveau comme prévu maintenant. Je ne sais pas comment, mais je suis heureux que cela ait résolu le problème!brew services stop postgresql@10
J'ai eu un problème similaire. J'avais oublié que j'avais intégré «lunchy» il y a quelques jours et que je l'utilisais comme un wrapper launchctl pour lancer plist
~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
au démarrage. pg_ctl n'était pas efficace à cause de la ligne de code suivante<key>KeepAlive<key>
:Essayer de tuer le processus directement n'a pas fonctionné parce que j'avais besoin de décharger le plist.
la source
homebrew.mxcl.postgresql92.plist
. Vérifiez vous-même.J'avais le même problème ... la suppression de l'agent de lancement a résolu le problème pour moi:
la source
J'ai contourné cette erreur en utilisant la commande
pg_ctl stop -m immediate pg_ctl start
Je n'avais pas besoin de décharger le plist de cette façon.
la source
s'avère que mon brew.plist pour postgres devait être déchargé et supprimé dans ~ / Library / LaunchAgents /. Après un redémarrage, tout va bien ... question de clôture.
la source
Lors de l'utilisation de PostgreSQL installé par brew, la commande suivante fonctionnait pour l'arrêter.
> brew services stop postgresql stopping `postgresql`... (might take a while) ==> Successfully stopped `postgresql` (label: homebrew.mxcl.postgresql)
Comme mentionné dans une autre réponse, parcourir la liste des processus, puis tuer tout ce qui est lié à postgres ne fonctionne pas .
ps aux | grep postgres kill $PID
la source
Je n'avais pas
postgres
commencé viabrew services
, donc je ne pouvais pas l'arrêter de cette façon.Cela a fonctionné.
Utilisez le
-D
paramètre d'en haut.$ pg_ctl stop -D "/Users/username/Library/Application Support/Postgres/var-9.6"
la source