タイプ: | integer |
デフォルト: | 100 (100kB) |
分: | 100 (100kB) |
最大: | 2147483647 (2147483647kB) |
単位: | KB |
コンテキスト: | superuser |
再起動: | false |
サーバの実行スタックの最大安全深度を指定します。このパラメータの理想的な設定はカーネルにより強要される実際のスタック容量の(ulimit -s
もしくはそれと同等の機能で設定された)限界から、1メガバイト程度の安全余裕度を差し引いたものです。この安全余裕度は、サーバがすべてのルーチンではスタック深度を検査をせず、再帰を行う可能性のある重要なルーチンでのみ検査をするために必要となるものです。この値が単位なしで指定された場合は、キロバイト単位であるとみなします。デフォルト設定は2メガバイト(2MB
)で、かなり控え目、かつクラッシュの危険がなさそうな設定です。しかし、複雑な関数の実行を許容するには小さ過ぎるかも知れません。スーパーユーザのみがこの設定を変更することができます。
max_stack_depth
を実際のカーネルの制限よりも高い値に設定した場合、暴走した再帰関数により、個々のバックエンドプロセスがクラッシュするかもしれません。PostgreSQLがカーネルの制限を決定することができるプラットフォームでは、この変数を危険な値に設定させません。しかし、すべてのプラットフォームがこの情報を提供できるわけではありません。このため、値を選ぶ時には注意が必要です。
推奨事項 [EN]
Increase this if you have experienced the relevant error.