タイプ: | integer |
デフォルト: | 0 (0ms) |
分: | 0 (0ms) |
最大: | 2147483647 (2147483647ms) |
単位: | milliseconds (ms) |
コンテキスト: | user |
再起動: | false |
コマンドがクライアントからサーバに届いた時から数えて、実行時間が指定された時間を越えた文を停止します。log_min_error_statementがERROR
もしくはそれ以下に設定されている場合は、タイムアウトした文はログに書き込まれます。この値が単位なしで指定された場合は、ミリ秒単位であるとみなします。値がゼロ(デフォルト)の場合、これを無効にします。
タイムアウトは、コマンドがサーバに到着したときから、サーバがそのコマンドの実行を完了するまでを基準にします。拡張問い合わせでは、タイムアウトは問い合わせに関するメッセージ(Parse、Bind、Execute、Describe)が到着したときに開始し、ExecuteあるいはSyncメッセージが完了した時にキャンセルされます。
すべてのセッションに影響することがあるので、postgresql.conf内でstatement_timeout
を設定することは推奨されません。
推奨事項 [EN]
Defaults to 0, meaning no timeout. For most web applications, it's a good idea to set a default timeout, such as 60s to prevent runaway queries from bogging the server. If set, though, you need to remember to set (at the ROLE or session level) a higher statement_timeout for expected long-running maintenance or batch operations.