类型: | integer |
默认: | 0 (0ms) |
最低限度: | 0 (0ms) |
最大: | 2147483647 (2147483647ms) |
单元: | milliseconds (ms) |
上下文: | user |
重新开始: | false |
中止任何使用了超过指定时间量的语句。 如果log_min_error_statement被设置为ERROR
或更低,语句如果超时也会被记录。 如果指定值时没有单位,则以毫秒为单位。一个零值(默认)将禁用超时。
超时从命令到达服务器的时间开始计算,一直到它被服务器完成为止。 在扩展查询协议中,当任何与查询相关的消息(解析、绑定、执行、描述)到达时,超时就开始运行,并且可以通过执行完成或同步消息来取消超时。
我们不推荐在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.