类型: | integer |
默认: | 0 (0ms) |
最低限度: | 0 (0ms) |
最大: | 2147483647 (2147483647ms) |
单元: | milliseconds (ms) |
上下文: | user |
重新开始: | false |
以来: | 9.3 |
如果任何语句在试图获取表、索引、行或其他数据库对象上的锁时等到超过指定的时间量,该语句将被中止。 该时间限制独立地应用于每一次锁获取尝试。该限制会应用到显式锁定请求(如LOCK TABLE或不带NOWAIT
的SELECT FOR UPDATE)和隐式获得的锁。 如果指定值时没有单位,则以毫秒为单位。一个零值(默认)将禁用超时。
与statement_timeout不同,这个超时只在等待锁时发生。注意如果statement_timeout为非零,设置lock_timeout
为相同或更大的值没有意义,因为事务超时将总是第一个被触发。 如果log_min_error_statement 被设置为ERROR
或更低,超时的语句将被记录。
我们不推荐在postgresql.conf中设置lock_timeout
,因为它会影响所有会话。
建议 [EN]
… but consider setting this per application or per query for any explicit locking attempts.