pg_basebackupでPostgreSQLのデータ入れ替えたら動かなくなった時のメモ
pg_basebackupでマスターサーバのデータをスレーブにコピーしてきたときに詰まったのでメモがてらシェア。
一旦postgresを止めてからdataフォルダを入れ替える。
service postgresql stop /usr/pgsql-9.3/bin/pg_basebackup -h xxx.xxx.xxx.xxx -Upostgres -D /var/lib/pgsql/9.3/data -x -P -v
でデータ持ってきたけど、(元々dataフォルダがあると失敗するので、mvする必要がある。)
データ移行して
service postgresql start
したら失敗。
/var/log/secure 見てみたら
Jan 6 11:04:59 slave runuser: pam_unix(runuser-l:session): session opened for user postgres by (uid=0) Jan 6 11:04:59 slave runuser: pam_unix(runuser-l:session): session closed for user postgres
みたいなの出ててよく分からんと思ったけど、
よく見たらdataディレクトリ内の権限が全部rootだった。(移行する前はpostgres)
なので
chown -R postgres:postgres data service postgresql start
で解決。