2010年3月10日

[pgsql-jp: 40201]WAL転送でのトラブル

寺岡ともうします。

Cent OS 4.x (64bit)で PostgreSQL 8.3.7 を使っています。
WAL転送で standby を構成しており、Linux のトラブルにより
切り替えを行ったのですが

pg_start_backup()
から

pg_stop_backup()

の間に更新されたレコードについて更新前と更新後の2つのレコードが
存在する状態となってしまいました。

重複したレコードは id という column を PRIMARY KEY としており
id で select しても1行しか出てきませんが pg_dump では出力され、
インポート時に問題がでます。

select oid, * from message where id = xxx;
で取り出すとインデックスが使われないためか2行でてきます。

# cat 00000001000001270000007B.0026EC28.backup
START WAL LOCATION: 127/7B26EC28 (file 00000001000001270000007B)
STOP WAL LOCATION: 127/7C4DA378 (file 00000001000001270000007C)
CHECKPOINT LOCATION: 127/7B334960
START TIME: 2010-03-03 02:33:42 JST
LABEL: setup warm standby
STOP TIME: 2010-03-03 02:40:55 JST


standby 側起動時のログ

2010-03-03 02:46:15 JST user=, db=, remote=, pid=7844, xid=0 LOG:
database system was interrupted; last known up at 2010-03-03 02:38:58
JST
2010-03-03 02:46:15 JST user=, db=, remote=, pid=7844, xid=0 LOG:
starting archive recovery
2010-03-03 02:46:15 JST user=, db=, remote=, pid=7844, xid=0 LOG:
restore_command = '/apps/scripts/postgres/wsrecovery.sh %f %p'
2010-03-03 02:46:15 JST user=, db=, remote=, pid=7844, xid=0 LOG:
restored log file "00000001000001270000007C" from archive
2010-03-03 02:46:15 JST user=, db=, remote=, pid=7844, xid=0 LOG:
automatic recovery in progress
2010-03-03 02:46:15 JST user=, db=, remote=, pid=7844, xid=0 LOG:
redo starts at 127/7C0D1420
2010-03-03 02:46:15 JST user=, db=, remote=, pid=7844, xid=0 LOG:
restored log file "00000001000001270000007D" from archive
2010-03-03 02:50:55 JST user=, db=, remote=, pid=7844, xid=0 LOG:
restored log file "00000001000001270000007E" from archive
2010-03-03 02:55:55 JST user=, db=, remote=, pid=7844, xid=0 LOG:
restored log file "00000001000001270000007F" from archive
2010-03-03 03:00:55 JST user=, db=, remote=, pid=7844, xid=0 LOG:
restored log file "000000010000012700000080" from archive

なにか、原因として考えられるものはあるでしょうか。

PostgreSQL 8.3.8 の ChangeLog にある

Force WAL segment switch during pg_start_backup() (Heikki)

This avoids corner cases that could render a base backup unusable.

は、関係するでしょうか。

--
Teraoka Yoshinori


投稿者 xml-rpc : 2010年3月10日 15:49
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/94045
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。