J'ai installé PostgreSQL en utilisant Homebrew sur Lion. Cela démarre bien mais ne s'arrête pas. J'ai essayé:
$ #started with
$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
$ #tried stoping with
$ pg_ctl -D /usr/local/var/postgres stop -m immediate
waiting for server to shut down................................... failed
pg_ctl: server does not shut down
J'ai résolu ce problème en supprimant l'agent de lancement:
launchctl unload -w ~/Library/LaunchAgents/org.postgresql.postgres.plist
rm ~/Library/LaunchAgents/org.postgresql.postgres.plist
launchctl unload -w ~/Library/LaunchAgents/org.postgresql.postgres.plist
rm ~/Library/LaunchAgents/org.postgresql.postgres.plist
Arrêter le serveur PostgreSQL avec -m immediate
est une manière dangereuse de le faire, car le mode "Immédiat" abandonnera tous les processus du serveur sans arrêt propre.
Cela entraînera une exécution de récupération au redémarrage. Essayez d'arrêter PostgreSQL avec le paramètre -m fast
au lieu. Le mode "rapide" n'attend pas la déconnexion des clients et mettra fin à une sauvegarde en ligne en cours. Toutes les transactions actives sont annulées et les clients sont déconnectés de force
pg_ctl stop -D /usr/local/var/postgres -m fast
Pour plus d'informations sur pg_ctl, veuillez visiter http://www.postgresql.org/docs/9.0/static/app-pg-ctl.html
Ça marche pour moi
pg_ctl -D /Library/PostgreSQL/9.2/data/ start
pg_ctl -D /Library/PostgreSQL/9.2/data/ stop
Si vous avez utilisé Homebrew pour installer postgresql, comme le montre le commentaire de Shevauns sur la réponse de Greg, la procédure correcte est
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
rm ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist