[pgsql-jp: 41379] Re: Streaming Replication動作時におけるスタンバイの動作について

花田 茂 hanada @ metrosystems.co.jp
2013年 4月 24日 (水) 19:22:52 JST


花田です。

(2013/04/24 14:48), Yamagami, Masato wrote:
> 現在、PostgreSQL9.2.4のStreaming Replicationを使用しています。
> StreamingReplication使用時のスタンバイの動作について疑問に思う点があり、
> 文献などを調査しましたが、不明点がありましたので質問させていただきます。
> 
> 疑問点は、以下の2点です。
> 
>  1.トランザクションの実行順序
>   マスターで複数のトランザクションが一度に実行された場合に、
>   マスタとスタンバイで、実行順序が変わることはないのか。

実行順序が変わることはありません。Streaming Replication の基盤となってい
るトランザクションログ(WAL)は全トランザクション分がシーケンシャルに記録
されるので、必ずマスタ側と同じ順序でスタンバイに変更が反映されます。

グループコミットが効いた場合でも、この挙動は変わらないはず、です。

>  2.ダーティリードの可能性
>   PostgreSQL 9.2.4文書[http://www.postgresql.jp/document/9.2/html/transaction-iso.html]では、
>      Postgreにおいてダーティーリードの可能性はないと記載されているが、
>   スタンバイ側でレプリケーション途中の更新をダーティーリードする可能性はないのか。

バグ以外ではありません。マスタ側でのコミット履歴(トランザクションログ)が
スタンバイ側に反映されるまでは、マスタ側での変更内容はスタンバイ側では可
視になりません。

-- 
株式会社メトロシステムズ
  花田 茂
Mail : hanada @ metrosystems.co.jp
 Tel : 03-5951-1219
 Fax : 03-5951-2929


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