( 久々にブログw)CentOS7にpostgresqlを導入し$PGDATAを変更した時の

CentOS7にpostgresqlを導入してみた。
データディレクトリー($PGDATA?)をデフォルトから変更するときに少しはまったのでメモです。

yum install postgresql-server でpostgresql 9.2 を導入。
postgres ユーザーで initdb を実施。
このとき -D オプションで任意のディレクトリー(/pgsql/data)を指定。
この後、

systemctl start postgresql.service

を実行すると、

postgresql-check-db-dir: "/var/lib/pgsql/data" is missing or empty.


が表示される。
/usr/lib/systemd/system/postgresql.service 内の "Environment=PGDATA=" のディレクトリーを initdb -D で指定したディレクトリーに変更し、systemctl daemon-reload して再度チェレンジ。

しかし、

pg_ctl: postgresはサーバ設定ファイル"/pgsql/data/postgresql.conf"にアクセスできません: 許可がありません


と、相変わらず起動できず。上記ファイルのパーミッションも問題なし。
色々ググった結果、正しい手順は、

1) /usr/lib/systemd/system/postgresql.service 内の "Environment=PGDATA=" を変更
2) systemctl daemon-reload を実行
3) postgresql-setup initdb を実行
4) systemctl start postgresql.service

3) が抜けていたようです。
早く systemd に慣れる必要がありますね。。