[pgsql-jp: 34519] Re: データ登録時の重複チェックについて

ngy.yt @ daikodenshi.co.jp ngy.yt @ daikodenshi.co.jp
2004年 12月 21日 (火) 21:00:19 JST


Tietew様 ご返信ありがとうございます。

私のEXCLUSIVE MODEの認識間違いでした。
『EXCLUSIVE MODE』の場合、 LOCK TABLEした場合でも、★印の部分で
SELECTが流れると認識していました。
申し訳ありませんでした。
ありがとうございました。

           プロセス1              プロセス2
              |                     |
         [ 更新ボタン ]              |
              |                [ 更新ボタン ]
         [ BEGIN      ]              |
              |                [ BEGIN      ]
         [ LOCK TABLE ]              |
              |                [ LOCK TABLE ] <== ここでblock
         [ SELECT     ]              |
              |                     |
         [ INSERT     ]              |        ★
              |                     |
         [ COMMIT     ]              |        <== ロックが外れる
              |                [ SELECT     ]
              ◎                     |
                                  重複検出
                                     |
                                [ ROLLBACK   ]
                                     |
                                     ◎

>登録処理の時に重複チェック SELECT の前に必ず LOCK TABLE を通るよ
>うにすれば ACCESS EXCLUSIVE MODE を使う必要はありません。
> で十分です。
>



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