[pgcluster: 233] Re: デッドロックもしくはそれに類似した症状について
TANIDA Yutaka
pgcluster@ml.postgresql.jp
Wed, 31 Mar 2004 19:00:57 +0900
谷田です。
# PGclusterのこのバグが実際に問題にならないと主張したいわけでは
# ありませんが・・・
On Wed, 31 Mar 2004 18:27:52 +0900
Wataru Oguro <oguro@zenrin-datacom.net> wrote:
> そこで、どちらかが先に接続数管理テーブルをaccess exclusiveモードでロック
> し、接続数が変更された後に、ロック待ちしているセッションが接続数管理テー
> ブルから現在の接続数を取得するようにして、システム要件を満たしているわけ
> です。
提示されている順番(select -> lock -> update)も、システム要件を満たして
いませんよ。
begin;
begin;
select ...
select...
lock
lock
update ...
commit;
update...
commit;
のようになってしまいませんか?
この要件を満たすためにはselectの前にlockしないといけません。であるなら、
access exclusiveである必要はありません。
というか、この要件だとselectはfor updateにするのが一般的と思いますがいか
がですか?
--
TANIDA Yutaka <tanida@sra.co.jp>