Estoy actualizando a Postgres 9.2.2 (desde 9.1.4). Cuando intento actualizar las bases de datos usando:
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
Me sale el siguiente mensaje de error:
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
Intenté detener el servidor, pero no puedo hacer que el comando de actualización funcione. ¿Cómo apago el antiguo administrador de correo?
postgresql
postgresql-9.2
Luciano
fuente
fuente
En OS X Yosemite, después de haber instalado PostgreSQL a través de Homebrew:
fuente
pg_ctl -D /usr/local/var/postgres/ stop
regresaNo such process
, entonces deberíasrm /usr/local/var/postgres/postmaster.pid
.En la mayoría de los sistemas Unix, encontrará un script de inicio en el
/etc/init.d
que puede usar para iniciar, reiniciar, recargar o detener servicios de Unix.p.ej
Si esto no está disponible, puede usar
pg_ctl stop
p.ej
Más sobre
pg_ctl
http://www.postgresql.org/docs/9.1/static/app-pg-ctl.html
EDITAR Si aún recibe el error y está seguro de que el administrador de correo ya no se está ejecutando (consulte con
sudo ps aux | grep "postmaster"
- solo debe devolver una línea) todavía tiene el archivo pid después de un cierre impuroEliminar el archivo pid
fuente
pg_ctl stop
, consigo:pg_ctl: no database directory specified and environment variable PGDATA unset
. Por cierto, hay un servidor parece estar funcionando:luciano$ ps auxwww | grep postgresluciano 995 0.0 0.0 2434892 548 s000 R+ 10:42PM 0:00.00 grep postgres
.sudo ps aux | grep "postmaster"
luciano 3101 0.0 0.0 2434892 548 s002 S+ 9:12PM 0:00.00 grep postmaster
En Ubuntu, detenga el servicio PostgreSQL antes de realizar la actualización. Esto detendrá todas las instancias de postgres independientemente de las versiones instaladas.
service postgresql stop
fuente