PostgreSQLシャットダウンの注意点

$ pg_ctl stop
を実行すると、起動/停止を最大60秒間待ちます。


注意点
上記の場合、おかしなpostgres子プロセスがいて、60秒間で死なない場合起動に失敗することがあります。
プロセスが腐っていると危険です。落ち着いて対処しましょう。


症状
[postgres@host postgres]$ pg_ctl start
pg_ctl: another postmaster may be running; trying to start postmaster anyway
FATAL: lock file "/var/opt/pgsql/data/postmaster.pid" already exists
HINT: Is another postmaster (PID 10000) running in data directory "/var/opt/pgsql/data/"?
pg_ctl: could not start postmaster
Examine the log output.


解決方法
$ pg_ctl -m f
f or i により、強制的にプロセスを停止する