[pgpool-general-jp: 153] pgpoolでのupdateについて

Mizuno Shinya 098.mizuno.shinya @ gmail.com
2007年 6月 2日 (土) 10:51:51 JST


水野と申します。

現在、pgpool-3.2でwebシステムを構築中ですが、
pgpoolを利用した際の「update」について、確認をしたいことがあり、
MLへポストいたしました。

A) update table1 set value=100 where id=1
B) update table1 set value=200 where id=1

この二つのクエリが別トランザクションで同時に実行された場合、
最終的に「value」の値はどのようになるのでしょうか。

「insert」のとき、各クラスタではクエリの順番は保証されない、
ということで、ロックを利用する方法が上げられています。

よくよく考えると「update」でも、同じことが考えられ、上記の
クエリの場合、もしかしたら、DB1では「100」、DB2では「200」と
なる可能性があるかも、と思いました。

もし、各クラスタ間で不整合が発生する可能性がある場合、
何か解決策はありますでしょうか。

お手数をおかけいたしますが、ご教示くださいませ。
よろしくお願いいたします。

--
--------------------------
Shinya mizuno (098.mizuno.shinya @ gmail.com)


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