2010年2月17日

[pgsql-jp: 40176] Re:子テーブルの2回目の更新でデッドロック

平塚です。

というわけで本家に報告しました。
http://archives.postgresql.org/pgsql-bugs/2010-02/msg00138.php

板垣さんにも再度検証いただきました。
どうもありがとうございました。

Tom Laneさんから以下の返事をいただきました。

| AFAICS there is no simple way to improve this. It's an optimization
| that the first update didn't block. We can't easily extend that
| optimization to the second update. Sorry.

まとめると
・アーキテクチャ上の制限
・8.5devでもこの制限はあり。8.3も再現しました
・簡単には改善できない。ブロックしないための情報を保持する場所が今のところない
・初回の更新がブロックされないのは特別扱いしているため

とのことです。
手元のプログラムはリトライするように直しました :-)

よろしくお願いします。

--
平塚貞夫 <sh2@xxxxx>


投稿者 xml-rpc : 2010年2月17日 12:39
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/93396
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。