[pgsql-jp: 40543] Re: トランザクションの結果反映遅延についてご質問
Hiroshi Inoue
inoue @ tpf.co.jp
2010年 11月 18日 (木) 08:35:08 JST
井上です。
(2010/11/17 11:40), toshihideka4316 @ zenrin.co.jp wrote:
> お世話になります、片山です。
>
> トランザクションの結果反映に遅延が生じる場合があるのですが、
> どなたか原因、対策等ご存知でしたら教えていただけないでしょうか。
> 詳細は以下の通りです。
>
> ■環境
> 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 メーリングリストの案内