[pgsql-jp: 36203] Re: 原因不明のデータ消失

Kiyoshi Mizuno kiyoshi_mizuno @ mail.toyota.co.jp
2005年 10月 19日 (水) 13:48:15 JST


水野です。

> -----Original Message-----
> ・Postgres1にはその消失したデータを確かに一度書き込みに来ている形跡がある。
>   →形跡とは、Postgres1ではシーケンスで一意の番号が取れるようになっているが、
>    消失したデータ分だけシーケンス番号が飛んでいる。
> ・ACCESS上では特にエラーはかえっていない。

#Postgres1とPostgres2の2段構えにした目的が
 分からないので適切なアドバイスになるか微妙です。

Postgres1でのエラー原因を追求するのは当然必要ですが、
現在の現象からしてPostgres1でのトランザクションエラーを
呼び出し側のAccessから検知できるようになったとしても、
Postgres2のテーブル更新をトリガ起動で行う限りPostgres2の
テーブルはRollBackされないでしょう。

そのためテーブル同期についてはトリガによる更新ではなく、
Slony や db mirror のようなレプリケーションツールで行うように
した方がよいように思います。これらは非同期型レプリケータなので
プライマリDBの処理レスポンスはあまり低下させずに済むでしょう。
もし同期ズレが許されないシステムなら更新レスポンスは
多少落ちますが同期型レプリケータのPGCluster ないし Usogres 
でしょうか。
同期ツールについての詳しい情報は
 http://www.lss.eternity.ne.jp/new/class.php?781
ここから追えます。




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