2010年9月 3日

[pgsql-jp: 40365] Re:ODBCドライバの設定についてわかりません

井上です。

(2010/09/03 17:10), toshihideka4316@xxxxx wrote:
> こんにちは。片山と申します。
>
> 「エラー時のロールバック発行」という項目があるのですが、これらの違いがわから
> ないので教えていただけないでしょうか。
>

> 具体的に困っていること経緯については以下の通りです。
> 現在サーバ、クライアント共にPostgreSQL8.2.4を使用しており、ODBCドライバ
> (ver8.2.4)の設定項目「エラー時のロールバック発行」を「無し」を指定した場合、
> サーバのメモリ不足が発生しました。
> 原因調査を進める上でODBCドライバのログを見ましたところ、insert文ごとに
> savepointが発行されており、これがメモリ不足の原因であると考えています。

これは「無し」で想定されている動作でなく「文単位]のロールバックの動作
です。もしかしたらデフォルトの動作と混同されているのではないでしょうか?
デフォルトの動作はサーバーバージョンが7.4なら全キャンセル、それ以後なら
「文単位」のロールバックとなります。

エラー時のロールバック発行のオプションの違いは次のとおりです。

無し:自動的なロールバックは行わず、ロールバックの処理はユーザーに任さ
れます。
文単位:当該のステートメントを自動的にロールバックします。当該トランザ
クションのそれ以前のステートメントの実行結果は有効なまま残ります。エラ
ーの種類などによって更に全キャンセルをするかどうかはユーザーの判断に任
されます。
全キャンセル:当該トランザクションを自動的にキャンセルします。


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




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