Estou atualizando para o Postgres 9.2.2 (da 9.1.4). Quando tento atualizar os bancos de dados 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
Eu recebi a seguinte mensagem de erro:
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
Estou tentando parar o servidor, mas não consigo fazer o comando de atualização funcionar. Como desligar o antigo postmaster?
postgresql
postgresql-9.2
Luciano
fonte
fonte
No OS X Yosemite, depois de instalar o PostgreSQL via Homebrew:
fonte
pg_ctl -D /usr/local/var/postgres/ stop
retornarNo such process
, então você deverm /usr/local/var/postgres/postmaster.pid
.Na maioria dos sistemas unix, você encontrará um script init no
/etc/init.d
qual você pode usar para iniciar, reiniciar, recarregar ou parar os serviços unix.por exemplo
Se isso não estiver disponível, você pode usar
pg_ctl stop
por exemplo
Mais sobre
pg_ctl
http://www.postgresql.org/docs/9.1/static/app-pg-ctl.html
EDIT Se você ainda receber o erro e tiver certeza de que o postmaster não está mais em execução (verifique com
sudo ps aux | grep "postmaster"
- deve retornar apenas uma linha), você ainda possui o arquivo pid após um desligamento imundoRemova o arquivo pid, por exemplo
fonte
pg_ctl stop
, eu recebo:pg_ctl: no database directory specified and environment variable PGDATA unset
. BTW, nenhum servidor parece estar a correr: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
No Ubuntu, pare o serviço PostgreSQL antes de executar a atualização. Isso interromperá todas as instâncias do postgres, independentemente das versões instaladas.
service postgresql stop
fonte