この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
どうもメガネです。5回目です。
今回はPostgreSQLでのウォームスタンバイの設定を行います。
PostgreSQL8.3からウォームスタンバイの設定が簡単になったので紹介します。
今回は1台のマシンで2つのデータベースインスタンスを作成して環境を作って行きます。
次に/tmpディレクトリにdb1(マスターDB)とdb2(バックアップDB)というインスタンスを作成します。db2はdb1のコピーを使うのでここでは作成しません。
次にアーカイブログを格納するためのディレクトリを作成します。
そしてdb1/postgresql.confに以下の3行を追加します。
主系の完全バックアップを作成
archive_mode = on
archive_command = ‘cp %p /tmp/archive2/%f’
archive_timeout = 10
port = 5433
db2の中からpostmaster.pidとpg_xlogの中を消す。
rm: db2/pg_xlog/archive_status: is a directory
DB2が起動するはずです。これでリカバリは完了しているはずです。最後にきちんと同期がとれていることを確認します。
DB2で実行
$ psql -p 5433 testdb
testdb=# select * from test;
DB1で表示された結果と同じであれば成功です。
以上です。