[pgsql-jp: 40742] ホットスタンバイ機能でホットスタンバイ側でも更新出来てしまう

小泉 美加 koizumi.mika @ futuregiken.co.jp
2011年 4月 19日 (火) 17:48:42 JST


初めまして 小泉と申します。

現在表題のトラブルが発生し、書籍やネット等で調査を行ったのですが原因が特
定出来ない状態です。

------------------------------------------------------------
バージョン:PostgreSQL9.0.3
使用機能 :ホットスタンバイ(今後レプリケーション等を行いたい)

環境   :プライマリサーバ、スタンバイサーバを2台用意
     :2台共に上記バージョンのPostgreSQLをインストール
      プライマリIPアドレス(192.168.10.216)
      スタンバイIPアドレス(192.168.10.217)

1.プライマリサーバの状態
正常に稼動
プライマリのデータベースバックアップを取得しスタンバイサーバへコピー

2.スタンバイサーバの状態
プライマリのデータベースバックアップを使用し、必要な設定を完了

・下記ファイルを削除
 postmaster.pid
  /data/pg_xlog/*

【postgres.confの設定内容】
#listen_addresses = 'localhost'
listen_addresses = '*'

#wal_level = minimal
wal_level = hot_standby

#archive_mode = off
archive_mode = on

#archive_command = ''
archive_command = 'scp 192.168.10.216:/usr/local/pgsql/archive/%f %p'

#hot_standby = off
hot_standby = on

【recovery.confの設定内容】
#standby_mode = 'off'
standby_mode = 'on'

#restore_command = ''
restore_command = 'cp /usr/local/pgsql/archive/%f "%p"'

#trigger_file = ''
trigger_file = '/tmp/trigger'

上記設定後、スタンバイサーバを起動
【出力ログ】
LOG:  database system was interrupted; last known up at 2011-04-19 16:
33:06 JST
LOG:  entering standby mode
LOG:  restored log file "000000010000000000000002" from archive
LOG:  redo starts at 0/2000020
LOG:  consistent recovery state reached at 0/3000000
LOG:  database system is ready to accept read only connections
cp: cannot stat `/usr/local/pgsql/archive/000000010000000000000003': No 
such file or directory
LOG:  trigger file found: /tmp/trigger
LOG:  redo done at 0/20000C4
LOG:  restored log file "000000010000000000000002" from archive
cp: cannot stat `/usr/local/pgsql/archive/00000002.history': No such 
file or directory
LOG:  selected new timeline ID: 2
cp: cannot stat `/usr/local/pgsql/archive/00000001.history': No such 
file or directory
LOG:  archive recovery complete
LOG:  autovacuum launcher started
LOG:  database system is ready to accept connections

スタンバイサーバでpsqlを使用してSELECTを行うとマスタサーバのデータが表示
されることを確認。その後、update文を実行するとエラーが発生せずにupdateさ
れてしまいます。
現在、なぜupdate出来てしまうのかが分からない状態です。
どなたかご教授頂けないでしょうか。



pgsql-jp メーリングリストの案内