NAKAHIRA Kazutomo
nakahira_kazutomo_b1****@lab*****
2013年 11月 19日 (火) 14:02:30 JST
TO:松島さん 中平です。前回のOSC東京ではお世話になりました。 PostgreSQLのストリーミングレプリケーションで、sync状態の Slaveが 1つである理由ですが、以下の MLでのやりとりに 書かれています。 http://www.gossamer-threads.com/lists/linuxha/pacemaker/85077?do=post_view_threaded#85077 確か同期レプリケーションの場合、Master側が受け付けた DB書き込み結果をクライアント側に返却するタイミングが、 Master側の synchronous_standby_names の先頭に記述 された Slaveから応答が返されたときになるかと思います。 # 全ての Slaveからの応答を待ってはいなかったと思いますが # もし間違っていればご指摘ください。 このため、synchronous_standby_names の先頭に記述された Slaveについては同期が保証されますが、その他の Slaveに ついては、きちんと WALが転送されたことが保障されない まま Masterからクライアントに応答が返されてしまいます。 そのため、synchronous_standby_names の先頭に記述された Slaveのみが "Sync Slave"として信用することができ、 その他は "Async Slave"の扱いになる、と理解しています。 以上です。 よろしくお願い致します。 (2013/11/18 23:02), Takehiro Matsushima wrote: > 皆様 > > お世話になっております、松島と申します。 > この度、皆様に教えていただきたいことが御座います。 > > PostgreSQL9.3 + Pacemaker, Corosync(Nightly)で実験を行っています。 > > 3ノード構成で、ストリーミングレプリケーションを使ってMaster/Slave構成で > 同期レプリケーションを行いたいのですが、実際の動作もpgsql RAの記述も > 1 Master + 1 Sync Slave + 1 Async Slaveとなっています。 > > 1 Master + 2 Sync Slaveではなにか問題があるためにこのような動きを > するようにしているように見えるのですが、この背景につきまして、なにか > ご存知の方いらっしゃいましたら教えて頂けますでしょうか。 > > 恥ずかしながら、見当がつきませんでしたので、よろしくお願いいたします。 > -- NTTデータ先端技術株式会社 中平 和友 TEL: 03-5860-5135 FAX: 03-5463-6490 Mail: nakahira_kazutomo_b1****@lab*****