108 votes

Le serveur PostgreSQL ne s'arrête pas

J'ai un petit problème avec PostgreSQL sur Mac OS X 10.8.4. J'ai accidentellement fait brew rm postgresql --force pendant que le serveur postgres était en marche. Lorsque j'ai installé en utilisant brew install postgresql et a couru pg_ctl -D /usr/local/var/postgres start J'ai compris :

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

lorsque j'essaie d'arrêter le serveur avec pg_ctl stop -D /usr/local/var/postgres -m fast o pg_ctl -D /usr/local/var/postgres stop -mi J'ai compris :

waiting for server to shut down........................................... Failed
pg_ctl: server does not shut down

EDITAR

which pg_ctl
/usr/local/bin/pg_ctl
pg_ctl --version
pg_ctl (PostgreSQL) 9.2.4

L'essentiel de server.log : https://gist.github.com/anonymous/6106182

9voto

Parker Hutchinson Points 1361

Il 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 finale.

9voto

Peter Lustig Points 393

Lorsque l'on utilise PostgreSQL installé par Brew, la commande suivante permet de le fermer.

> brew services stop postgresql

stopping `postgresql`... (might take a while)
==> Successfully stopped `postgresql` (label: homebrew.mxcl.postgresql)

Comme mentionné dans une autre réponse, le fait de parcourir la liste des processus et de tuer tout ce qui est lié à postgres permet d'obtenir les résultats suivants pas travail.

ps aux | grep postgres
kill $PID

0voto

M3RS Points 876

Je n'avais pas postgres a commencé par brew services donc je ne pouvais pas l'arrêter de cette façon.

Ça a marché.

$ ps -ef | grep postgres
501   547     1   0  2:07pm ??         0:00.29 /Applications/Postgres.app/Contents/Versions/9.6/bin/postgres -D /Users/username/Library/Application Support/Postgres/var-9.6 -p 5432

Utilice -D Paramètre du dessus.

$ pg_ctl stop -D "/Users/username/Library/Application Support/Postgres/var-9.6"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X