Centos 7 で Postgresql 9.3 サーバーを設定しようとしています (yum 経由のインストール) カスタム ディレクトリ内で、私の場合は起動時にマウントされる暗号化されたパーティション (/custom_container/database) です。ある理由により、Postgresql がマニュアルどおりに動作せず、サービスの起動時にエラーが発生します。
注: 私が設定した PGDATA 環境変数を受け入れたくありません。
su - postgres -c '/usr/pgsql-9.3/bin/initdb'
(PGDATA ディレクトリが postgres:postgres によって所有されている場合) クラスタはデフォルト ディレクトリ /var/lib/pgsql/9.3/data/ 内で初期化されます。
su - postgres -c '/usr/pgsql-9.3/bin/initdb --pgdata=$PGDATA'
私が使用しているカスタムコンテナ内のディレクトリを初期化します。ドキュメントでは PGDATA 変数がデフォルトで使用されると書かれているため、これは私が理解できなかったことです。
問題:実行時
service postgresql-9.3 start
ログにエラーが表示されます
postgresql-9.3.service - PostgreSQL 9.3 database server
Loaded: loaded (/usr/lib/systemd/system/postgresql-9.3.service; disabled)
Active: failed (Result: exit-code) since Mon 2014-11-10 15:24:15 CET; 1s ago
Process: 2785 ExecStartPre=/usr/pgsql-9.3/bin/postgresql93-check-db-dir ${PGDATA} (code=exited, status=1/FAILURE)
Nov 10 15:24:15 CentOS-70-64-minimal systemd[1]: Starting PostgreSQL 9.3 database server...
Nov 10 15:24:15 CentOS-70-64-minimal postgresql93-check-db-dir[2785]: "/var/lib/pgsql/9.3/data/" is missing or empty.
Nov 10 15:24:15 CentOS-70-64-minimal postgresql93-check-db-dir[2785]: Use "/usr/pgsql-9.3/bin/postgresql93-setup initdb" to initialize t...ster.
Nov 10 15:24:15 CentOS-70-64-minimal postgresql93-check-db-dir[2785]: See %{_pkgdocdir}/README.rpm-dist for more information.
Nov 10 15:24:15 CentOS-70-64-minimal systemd[1]: postgresql-9.3.service: control process exited, code=exited status=1
Nov 10 15:24:15 CentOS-70-64-minimal systemd[1]: Failed to start PostgreSQL 9.3 database server.
Nov 10 15:24:15 CentOS-70-64-minimal systemd[1]: Unit postgresql-9.3.service entered failed state.
つまり、クラスタが新しい $PGDATA ディレクトリ (/custom_container/database) で初期化されていても、Postgresql は引き続き /var/lib/pgsql/9.3/data/ でクラスタを探します。
以前にこの Postgresql の動作を経験した人はいますか? 特定の設定オプションを忘れたのか、Postgresql のインストールに問題があるのでしょうか?
前もって感謝します!