[pgsql-jp: 30269] ロック状態の取得

Hideaki Kihara kihara_hideaki_net @ hotmail.com
2003年 6月 30日 (月) 00:00:30 JST


いつもお世話になります。キハラと申します

行ロックについて質問です。
(環境:windows2000+Cygwin+PostgreSQL7.3)

ターミナルを2つ開き
ターミナル1:T1
ターミナル2:T2

以下のようにSQLを実行しました

T1:BEGIN;
T1:SELECT * FROM T_WORK WHERE A=1 FOR UPDATE;
T2:SELECT * FROM T_WORK WHERE A=1;
T1:END;

このように行うと「T1:END」するまでT2は待ち状態になります。

そこで「T2:SELECT * FROM T_WORK WHERE A=1;」
を行った時、もしくは行う前にロック状態を確認して待ち状態を回避する方法を
探しております。

[pgsql-jp: 29248] Re:Lockの状況確認の方法 
を参考にしてみましたが、テーブルのロック状況までは確認できますが
レコードのロック状況までは分かりませんでした。

#「T2:SELECT * FROM T_WORK WHERE A=1;」を実行したときに
#エラーメッセージ等を取得できればよいのですが...エラーにはならないのかな?

なにか良い方法がありませんでしょうか?
マニュアルの「ここ読め!」でも構いませんので宜しくお願い致します。

-- 
Hideaki Kihara <kihara_hideaki_net @ hotmail.com>





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