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

Takahiro Itagaki itagaki.takahiro @ oss.ntt.co.jp
2010年 3月 11日 (木) 11:15:03 JST


Yoshinori Teraoka <teraoka.yoshinori @ gmail.com> wrote:

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

warm-standby では、設計上はそのような状況は起こらないようになっているので、
もしお知らせのような不具合が発生しているようならば、
    1. ハードウェア障害によりデータが破損した(ディスク、メモリ化け)
    2. PostgreSQL のバグ
のどちらかが疑われます。

とりあえずの対処は、手作業で重複した行を消し、その後 REINDEX して
復旧することになると思います。

> 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.

この項目とは異なる状況に見えますが、なんにせよ 2.の可能性も疑えるので、
まずは 8.3 の最新版へアップデートをお奨めします。
(そろそろ 8.3.10 も出そうですが)

ところで、pg_start_backup() 〜 pg_stop_backup() はプライマリ側での
バックアップを指しますか? この間の処理にだけ復旧状況に差がある
というのは不思議です。例えば、バックアップ・ラベルの転送などの処理で、
既知の不具合ってありましたっけ?

------------------------------------------------------------
NTT オープンソース ソフトウェア センタ
板垣貴裕 <itagaki.takahiro @ oss.ntt.co.jp>




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