[pgsql-jp: 41326] Re: ストリーミングレプリケーションのフェイルバック方法
Fujii Masao
masao.fujii @ gmail.com
2013年 1月 17日 (木) 01:39:43 JST
2013/1/17 池田亘 <ikeda.wataru @ gmail.com>:
> こんばんは池田です。ご返信ありがとうございます。
> 以下のNGなケースについてご質問させて下さい。
>
> 2013年1月17日 0:57 Fujii Masao <masao.fujii @ gmail.com>:
>> (4) WALがスタンバイBに転送される前に、Aが停止した
>> (5) Aが停止したため、スタンバイBをマスタに昇格した
>
> (4)のときに、おっしゃる通りデータに不整合が起きると思いますが、Bのベースバックアップを基準
> にした場合、すでにディスクAに反映されているデータは意図的にロストさせるという意味でしょうか。
はい、Aだけに反映されているデータは意図的にロストさせることになります。
もし同期レプリケーションを設定しているのであれば、その意図的にロストさせた
データは、クライアント側にはCOMMIT済と認識されていないため、
トランザクションには問題ありません。同期レプリケーションでは、
マスタとスタンバイの両方にWALを書き込めたのを確認してからCOMMIT成功を
クライアント側に返却するため、このようなクライアント側の認識になります。
> そのためにBのベースバックアップにはwalログも含めてAと置き換えるという認識で宜しいでしょうか。
はい、その認識の通りになります。
以上、よろしくお願いいたします。
--
Fujii Masao
pgsql-jp メーリングリストの案内