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

TAKATSUKA Haruka harukat @ postgresql.jp
2010年 9月 3日 (金) 18:37:45 JST


高塚です。

日本語版の画面を見てみました。日本語の設定表示は、
 [エラー時のロールバック発行:無し、全キャンセル、文単位]
でしたね。

さて、メールを読み間違っていました。「文単位」で SAVEPOINT が
出ているのでなくて、「無し」で出ているのですね。これはちょっと不思議です。
(作者フォローがあるかもしれませんが、) 少し調べてみます。

On Fri, 3 Sep 2010 18:10:53 +0900
TAKATSUKA Haruka <harukat @ postgresql.jp> wrote:

> 高塚と申します。
> 
> psqlODBC のバージョンは何でしょうか?
> 
>  [エラー時のロールバック発行:無し]
> は、新しい psqlODBC の
>  [Level of rollback on errors: Statement]
> と、おそらく同じ意味かと思います。
> 
> エラーを起こしたときに、該当のSQL文だけロールバックできるように
> したい場合に使います。Oracle のようにトランザクションの中でエラーを
> 起こしたSQLがあっても、それ以外の成功している処理については
> コミットできるようになります。
> 
> # なお、PostgreSQL 8.4.x では SAVEPOINT 、RELEASE SAVEPOINT を繰り返し
> # てもそれほどメモリは喰いません。
> 
> 
> On Fri, 3 Sep 2010 17:10:17 +0900
> <toshihideka4316 @ zenrin.co.jp> wrote:
> 
> > 「エラー時のロールバック発行」という項目があるのですが、これらの違いがわから
> > ないので教えていただけないでしょうか。
> > 
> > 具体的に困っていること経緯については以下の通りです。
> > 現在サーバ、クライアント共にPostgreSQL8.2.4を使用しており、ODBCドライバ
> > (ver8.2.4)の設定項目「エラー時のロールバック発行」を「無し」を指定した場合、
> > サーバのメモリ不足が発生しました。
> > 原因調査を進める上でODBCドライバのログを見ましたところ、insert文ごとに
> > savepointが発行されており、これがメモリ不足の原因であると考えています。
> > 
> > メモリ不足になるAP使用時におけるODBCドライバの設定項目「エラー時のロールバッ
> > ク発行」を「全キャンセル」に変更したところ、以下のようにサーバメモリ使用量、
> > 実行時間共に改善されました。
> > ■サーバメモリ使用量
> > 7.4:実メモリ450MB 仮想メモリ550MB
> > ↓  ↓  ↓
> > 7.4-1:実メモリ17MB 仮想メモリ150MB
> > (大幅低下)
> > 
> > ■実行時間
> > 7.4:22分8秒
> > ↓  ↓  ↓
> > 7.4-1:17分31秒
> > (3割減少)
> > 
> > この結果により、このAPについてはODBCの設定項目(「エラー時のロールバック発
> > 行」)を「全キャンセル」に設定することで解決しそうですが、全体的なパフォーマ
> > ンス改善の為システム全体的に変更したいと考えています。
> > しかし設定項目の「無し」と「全キャンセル」の違いがわからない為、システム全体
> > の動作確認観点がつかめない状況です。(システム規模が大きい為全機能を動作検証
> > するのは非常に困難な状況です)
> > そこでODBCドライバの設定項目「エラー時のロールバック発行」における設定の違い
> > について何か情報等ご存知でしたら教えていただけないでしょうか。
> > 
> > よろしくお願いいたします。
> > 
> > 片山 年秀
> 
> 
> ______________________________________________________________________
>  日本PostgreSQLユーザ会  事務局 高塚   http://www.postgresql.jp 
>  E-Mail:harukat @ postgresql.jp
> 
> 


______________________________________________________________________
 日本PostgreSQLユーザ会  事務局 (担当 高塚)  http://www.postgresql.jp 
 〒170-0005 東京都豊島区南大塚3-46-3 大塚セントコアビル5F SRAOSS内
 TEL: 03-5951-1214  FAX: 03-5951-1192  E-Mail:jpug-staff @ postgresql.jp



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