web-dev-qa-db-fra.com

Impossible d'arrêter l'ancien maître de poste lors de la mise à niveau vers Postgres 9.2

Je mettant la mise à niveau vers Postgres 9.2.2 (à partir du 9.1.4). Lorsque j'essaie de mettre à niveau les DBS en utilisant:

pg_upgrade -b /usr/local/Cellar/postgresql/9.1.4/bin -B /usr/local/Cellar/postgresql/9.2.2/bin -d /usr/local/var/postgres91 -D /usr/local/var/postgres

Je reçois le message d'erreur suivant:

Performing Consistency Checks
-----------------------------
Checking current, bin, and data directories                 ok

There seems to be a postmaster servicing the old cluster.
Please shutdown that postmaster and try again.
Failure, exiting

J'ai essayé d'arrêter le serveur, mais je ne peux pas obtenir la commande de mise à niveau pour fonctionner. Comment arrêter l'ancien maître de poste?

13
Luciano

Le postmaster.pid devrait être à l'intérieur de la version précédente usr/local/var dossier. Le simple fait de renommer ce fichier devrait résoudre le problème.

11
Luciano

Dans OS X Yosemite, après avoir installé PostgreSQL via Homebrew:

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
rm ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
4
Sarah Vessels

Sur la plupart des systèmes UNIX, vous trouverez un script init en /etc/init.d Sur lequel vous pouvez utiliser pour démarrer, redémarrer, recharger ou arrêter les services UNIX.

par exemple.

Sudo /etc/init.d/postgresql stop

Si cela n'est pas disponible, vous pouvez utiliser pg_ctl stop

par exemple.

su - postgres
bash-3.1$ pg_ctl stop  # normal stop
bash-3.1$ pg_ctl stop -m s # smart stop
bash-3.1$ pg_ctl stop -m f # fast stop
bash-3.1$ pg_ctl stop -m i # immediate stop

Plus à propos pg_ctl

http://www.postgresql.org/docs/9.1/static/app-pg-ctl.html

[~ # ~] Edit [~ # ~] Si vous obtenez toujours l'erreur et que vous êtes sûr que le maître de poste n'est plus en cours d'exécution (vérifiez avec Sudo ps aux | grep "postmaster" - devrait renvoyer une ligne uniquement) Vous avez toujours le fichier PID après un arrêt impural

Supprimer le PIDFILE E.G.

> Sudo -u postgres mv /var/lib/postgres/data-9.1/postmaster.pid /tmp
1
Michel Feldheim

Sur Ubuntu, arrêtez le service PostgreSQL avant d'effectuer la mise à niveau. Cela empêchera toutes les instances de postgres quelles que soient les versions installées.

service postgresql stop

0
scarver2