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

toshihideka4316 @ zenrin.co.jp toshihideka4316 @ zenrin.co.jp
2010年 11月 19日 (金) 13:46:12 JST


片山です。

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

6,7については別接続でupdate等を行ったAPからの確認ではなく黒猫SQLstdioという
SQLコンソールソフトを使用しております。
↓
黒猫SQLstdioのページ
<http://kuronekosoft.ewinds.net/sqlstudio.aspx>

> # 確認はSELECTで1レコード程度みるだけにしてください。
> #ここでOutOfmemory起こしては元も子もないので。
2)で試しにupdateを行っているのは1レコードのみなので、確認も1レコードのみ取得
するSQLを使用しています。

以上です。
 




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