フェイルオーバー時のpostgresql.pid処理方法について


RHEL7環境下のpostgresqlサーバをpacemakerにて冗長化を行っております。しかし、フェイルオーバー時にpostgresql.pidが残ってしまい、postgresqlサービスの自動起動ができません。手動で消すことで動作はしますが、根本的な解決にはなりません。どのような対処方法がありますでしょうか。




[postggresql.orgのyumリポジトリ](https://yum.postgresql.org/)からダウンロードできるpostgresqlであれば、PIDファイルが残っていても`pg_ctl`コマンド(`pg_ctl
-w start`)で起動してくれると思います。(警告は出ますが)

＃9.6.5で試してみました。

  1. pacemakerでのpostgresqlの起動方法が「`pg_ctl`」になっているか確認してはどうでしょうか?
  2. RedHat提供のpostgresqlを利用しているのであれば、postgresql.orgが提供しているそれに置き換えてみるのはどうでしょうか?




[postggresql.orgのyumリポジトリ](https://yum.postgresql.org/)からダウンロードできるpostgresqlであれば、PIDファイルが残っていても`pg_ctl`コマンド(`pg_ctl
-w start`)で起動してくれると思います。(警告は出ますが)

＃9.6.5で試してみました。

  1. pacemakerでのpostgresqlの起動方法が「`pg_ctl`」になっているか確認してはどうでしょうか?
  2. RedHat提供のpostgresqlを利用しているのであれば、postgresql.orgが提供しているそれに置き換えてみるのはどうでしょうか?

