[pgsql-jp: 40535] トランザクションの結果反映遅延についてご質問

toshihideka4316 @ zenrin.co.jp toshihideka4316 @ zenrin.co.jp
2010年 11月 17日 (水) 11:40:56 JST


お世話になります、片山です。

トランザクションの結果反映に遅延が生じる場合があるのですが、
どなたか原因、対策等ご存知でしたら教えていただけないでしょうか。
詳細は以下の通りです。

■環境
PostgreSQL ver8.2.14(サーバ、クライアント共に)、ODBC接続(ODBCドライバ ver8.
2.4)、
DeclareFetch=0、クライアントカーソル使用

■トランザクションの結果反映に遅延が生じるパターン
 処理前レコードのフィールドの値を「テスト」とすると
 1)接続、トランザクション開始
 2)Update文を発行してレコードを変更(「テスト」⇒「テスト2」)
 3)select文にて大容量のデータを取得した結果「out of memory」となった
 4)コミット
 5)接続の切断
 6)切断直後に別接続でSelect文を発行⇒update、コミットされたが結果レコード
は「テスト」(更新内容が反映されていない)
 7)約1分後のSelect文で更新内容が反映された⇒結果レコード「テスト2」⇒トラ
ンザクションの結果が遅延して反映されている
#5)にて接続を切断しない場合、20分後のselect文でもトランザクションの結果が反
映されない
   (selectしても結果は「テスト」のまま)

以上お願いいたします。
 




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