Postgres 9.2로 업그레이드 할 때 이전 포스트 마스터를 종료 할 수 없습니다


13

Postgres 9.2.2 (9.1.4)로 업그레이드하고 있습니다. 다음을 사용하여 DB를 업그레이드하려고 할 때 :

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

다음과 같은 오류 메시지가 나타납니다.

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

서버를 중지하려고했지만 업그레이드 명령이 작동하지 않습니다. 이전 포스트 마스터를 종료하는 방법은 무엇입니까?

답변:


11

postmaster.pid이전 버전의 내부에 있어야합니다 usr/local/var폴더. 이 파일의 이름을 바꾸면 문제가 해결됩니다.


나는이 문제를 몇 번이나 보았으며 이것이 좋은 대답입니다. 업그레이드하기 전에 postgres의 모든 인스턴스를 중지하는 것도 적절해야합니다
Jerome

4

OS X Yosemite에서 Homebrew를 통해 PostgreSQL을 설치 한 후 :

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

1
문제가 해결되지 않습니다. 경우 pg_ctl -D /usr/local/var/postgres/ stop반환 No such process, 당신은해야한다 rm /usr/local/var/postgres/postmaster.pid.
Andrew

1

대부분의 유닉스 시스템에는 /etc/init.d유닉스 서비스를 시작, 재시작, 재로드 또는 중지하는 데 사용할 수있는 init 스크립트가 있습니다.

예 :

sudo /etc/init.d/postgresql stop

이것이 가능하지 않으면 사용할 수 있습니다 pg_ctl stop

예 :

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

더 알아보기 pg_ctl

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

편집 여전히 오류가 발생하고 포스트 마스터가 더 이상 실행되고 있지 않다고 확신하는 경우 ( sudo ps aux | grep "postmaster"한 줄만 반환해야 함) 부정한 종료 후에도 여전히 pid 파일이 있습니다.

pidfile을 제거하십시오.

> sudo -u postgres mv /var/lib/postgres/data-9.1/postmaster.pid /tmp

1
내가하려고하면 pg_ctl stop, 내가 얻을 : pg_ctl: no database directory specified and environment variable PGDATA unset. BTW, 서버가 실행되지 않는 것 같습니다 : luciano$ ps auxwww | grep postgresluciano 995 0.0 0.0 2434892 548 s000 R+ 10:42PM 0:00.00 grep postgres.
Luciano

전자 메일 관리자에 대한 grep으로

추가 정보로 업데이트 된 답변

운이 없다 :sudo ps aux | grep "postmaster" luciano 3101 0.0 0.0 2434892 548 s002 S+ 9:12PM 0:00.00 grep postmaster
Luciano

문제가 해결되었습니다. 내 대답을 참조하십시오.
Luciano

0

Ubuntu에서 업그레이드를 수행하기 전에 PostgreSQL 서비스를 중지하십시오. 설치된 버전에 관계없이 postgres의 모든 인스턴스가 중지됩니다.

service postgresql stop

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.