[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 メーリングリストの案内