[pgsql-jp: 40566] Re: SQL文の長さ制限について

Itagaki Takahiro itagaki.takahiro @ gmail.com
2010年 12月 2日 (木) 19:42:48 JST


2010/12/2  <toshihideka4316 @ zenrin.co.jp>:
> PostgreSQLで受け付けるSQL文長の限界について明確な数字は無いと思っているのですが

実質 1GB が上限です。また、エンコーディング変換が発生すると、
その 1/4 程度で上限に引っ掛かる場合もあります。
(ただ、その場合でもエラーにはなっても、クラッシュはしないはずですが)

> サーバ:PostgreSQL8.4.2、クライアント:PostgreSQL8.2.14を使用しています。
> 1680万文字のSQLをlibpqを使って発行したところ、サーバが自動的に再起動しました。
> LOG:  server process (PID 8182)はシグナル11で終了しました: Segmentation fault

サーバ側でクラッシュしているのは確実です。ただ、SQLの長さが原因なのか、
そのSQL中にクラッシュさせるような記述があったのかが不明です。

可能であれば、以下の情報を教えてください。
・サーバのプラットホーム
・クラッシュ時のコアダンプとスタックトレース
・どのようなSQLか? (管理者ユーザに限定された機能を使っているか?)
また、8.4系の最新は 8.4.5 なのでアップデートもしてみてください。

場合によってはセキュリティホールの可能性もあるので、調査にご協力ください。

-- 
Itagaki Takahiro


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