Aktualizuję do Postgres 9.2.2 (z 9.1.4). Kiedy próbuję zaktualizować bazy danych za pomocą:
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
Otrzymuję następujący komunikat o błędzie:
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
Próbuję zatrzymać serwer, ale nie mogę uruchomić polecenia aktualizacji. Jak zamknąć starego postmastera?
postgresql
postgresql-9.2
Luciano
źródło
źródło
W OS X Yosemite, po zainstalowaniu PostgreSQL przez Homebrew:
źródło
pg_ctl -D /usr/local/var/postgres/ stop
powróciNo such process
, powinieneśrm /usr/local/var/postgres/postmaster.pid
.W większości systemów uniksowych znajduje się skrypt inicjujący, w
/etc/init.d
którym można używać do uruchamiania, restartowania, przeładowywania lub zatrzymywania usług unixowych.na przykład
Jeśli to nie jest dostępne, możesz użyć
pg_ctl stop
na przykład
Więcej o
pg_ctl
http://www.postgresql.org/docs/9.1/static/app-pg-ctl.html
EDYCJA Jeśli nadal pojawia się błąd i masz pewność, że postmaster nie działa (sprawdź za pomocą
sudo ps aux | grep "postmaster"
- powinien zwrócić tylko jedną linię), nadal masz plik pid po nieczystym zamknięciuUsuń plik pid np
źródło
pg_ctl stop
, pojawia się:pg_ctl: no database directory specified and environment variable PGDATA unset
. BTW, nie serwer wydaje się być uruchomiony: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
W systemie Ubuntu zatrzymaj usługę PostgreSQL przed wykonaniem aktualizacji. Spowoduje to zatrzymanie wszystkich wystąpień postgres, niezależnie od zainstalowanych wersji.
service postgresql stop
źródło