- - PR -
stack depth limit exceeded Query について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-12-27 19:35
お世話になります。
JAVAのアプリケーション内で、SQLを発行するプログラムで 以下のメッセージが表示され、困っています。 (DBはPostgresです。) -- java.sql.SQLException: ERROR: stackdepth limit exceeded Query: delete from テーブル名 where テーブル名主キー in ('001', '002', ・・・・'3000') (IN演算子内は、3000件程度) -- SQLのIN演算子内に設定する値の数が限界なのかと思って、 CSE(DBアクセスツール)でSQLのみを実行したところ、 正常に動作しました。 そのため、SQLが問題なのか?JAVAのプログラムが問題なのか? わからずに困っております。 上記のようなエラーについてご存知の方はご教授願えないでしょうか? |
|
投稿日時: 2007-12-27 19:50
構成パラメータmax_stack_depthを増やしてみては如何でしょうか?
|
|
投稿日時: 2007-12-27 21:11
ありがとうございます。
試してみます。 |
|
投稿日時: 2007-12-28 17:53
お世話になります。
再現性を確認したく、 ALTER DATABASE filesend set max_stack_depth = 100; を実行し、 新しい接続したCSE(DBアクセスツール)で show max_stack_depth; より、max_stack_depthが値が変更されていることを確認のうえ、 delete from テーブル名 where テーブル名主キー in ('001', '002', ・・・・'3000') (IN演算子内は、3000件程度) を実行したところ、正常に動作してしまいました。 stack depth limit exceeded Query を DBアクセスツールから起こす方法をご存知方、ご教授願えませんか? ちなみにサーバ環境の max_stack_depth については現在確認中です。 |
1