PostgreSQLのバージョン:

max_stack_depth

サーバの実行スタックの最大安全深度を指定します。このパラメータの理想的な設定はカーネルにより強要される実際のスタック容量の(ulimit -sもしくは局所での同等の値で設定された)限界から、1メガバイト程度の安全余地を差し引いたものです。安全余地は、サーバが各ルーチンでスタック深度を検査をせず、式評価などの主要な潜在的に再帰的なルーチンの場合のみ必要となるものです。デフォルト設定は2メガバイト(2MB)で、かなり控え目で、クラッシュの危険はなさそうです。しかし、複雑な関数の実行を許容するには小さ過ぎるかも知れません。スーパーユーザのみがこの設定を変更することができます。

max_stack_depthを実際のカーネルの制限よりも高い値に設定した場合、暴走した再帰関数により、個々のバックエンドプロセスがクラッシュするかもしれません。PostgreSQLがカーネルの制限を決定することができるプラットフォームでは、この変数を危険な値に設定させません。しかし、すべてのプラットフォームがこの情報を提供できるわけではありません。このため、値を選ぶ時には注意が必要です。

推奨事項 [EN]

Increase this if you have experienced the relevant error.

件のコメント