PostgreSQL が動かない時
久しぶりに PostgreSQL に query を投げてみたら…
psql: could not connect to server: Connection refused Is the server running on host hostname and accepting TCP/IP connections on port 5432?
…あれ?
# /etc/init.d/postgresql restart PostgreSQL starting. /usr/local/pgsql/bin/pg_ctl: kill: permission denied waiting for postmaster to shut down................................................................ failed pg_ctl: postmaster does not shut down
がーんん.
pg_ctl status -D で調べると postmaster は走ってると言うのだが,ps で見てもそんなプロセスは走ってない.
ぐぐると,以下のスレッド
調べると,確かに ${PGDATA}/postmaster.pid が残っていて,日付が前回のサーバ障害と一致.PID ファイルだけが残っちゃったんだな.
たぶんすでに postmaster がいないのでしょう。
ps で確認してみました?
pg_ctl status って ${PGDATA}/postmaster.pid と
${PGDATA}/postmaster.opts を見てるだけみたいなので
正常終了せずに、ファイルが残っていただけなのではないでしょうか?
というわけで,PID ファイルをリネームして postgresql restart したらおk.