PostgreSQLでデフォルトのデータファイル保管ディレクトリ(/var/lib/pgsql/data)以外を使用していたり、デフォルトのポート番号(5432)以外を使用していたりする場合、PostgreSQLの自動起動に失敗してしまう場合があるようです。 pgstartup.log を確認してみると、 postmasterはサーバ設定ファイル"/somedirectory/data/postgresql.conf"にアクセスできません: 許可がありません というメッセージが。 どうも、これまた、SELinuxの設定に起因するものでした。CentOS で PostgreSQL を使ってみよう!(3) の内容を参考に、設定変更。 semanageコマンドを使用して、対象となるディレクトリのタイプを postgresql_db_t に変更。 # semanage fcontext -a -t
![PostgreSQL and SELinux - 気の向くままに・・・](https://cdn-ak-scissors.b.st-hatena.com/image/square/8c8c10138f2a514628f839a54519feb4d8a1ac41/height=288;version=1;width=512/http%3A%2F%2Fsyo.cocolog-nifty.com%2F.shared-cocolog%2Fnifty_managed%2Fimages%2Fweb%2Fogp%2Fdefault.png)