lock_timeout

一个控制会话应等待多长时间来获取锁的 GUC 参数

lock_timeout 是一个 配置参数,它确定在尝试获取锁被放弃之前应该经过的时间段。

lock_timeoutPostgreSQL 9.3 中被添加。

默认值

lock_timeout 的默认值是:0 (禁用)。

用法

建议在会话级别设置 lock_timeout,而不是通过 postgresql.conf 全局设置。

按 PostgreSQL 版本详细信息

lock_timeout (PostgreSQL 19)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置任何锁等待允许的最大持续时间。
扩展描述 0 表示禁用超时。
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 2147483647
枚举值  
启动值 0
重置值 0
源文件  
源行  
需要重启 false

文档lock_timeout

lock_timeout (PostgreSQL 18)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置任何锁等待允许的最大持续时间。
扩展描述 0 表示禁用超时。
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 2147483647
枚举值  
启动值 0
重置值 0
源文件  
源行  
需要重启 false

文档lock_timeout

lock_timeout (PostgreSQL 17)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置任何锁等待允许的最大持续时间。
扩展描述 值为 0 将关闭超时。
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 2147483647
枚举值  
启动值 0
重置值 0
源文件  
源行  
需要重启 false

文档lock_timeout

lock_timeout (PostgreSQL 16)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置任何锁等待允许的最大持续时间。
扩展描述 值为 0 将关闭超时。
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 2147483647
枚举值  
启动值 0
重置值 0
源文件  
源行  
需要重启 false

文档lock_timeout

lock_timeout (PostgreSQL 15)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置任何锁等待允许的最大持续时间。
扩展描述 值为 0 将关闭超时。
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 2147483647
枚举值  
启动值 0
重置值 0
源文件  
源行  
需要重启 false

文档lock_timeout

lock_timeout (PostgreSQL 14)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置任何锁等待允许的最大持续时间。
扩展描述 值为 0 将关闭超时。
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 2147483647
枚举值  
启动值 0
重置值 0
源文件  
源行  
需要重启 false

文档lock_timeout

lock_timeout (PostgreSQL 13)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置任何锁等待允许的最大持续时间。
扩展描述 值为 0 将关闭超时。
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 2147483647
枚举值  
启动值 0
重置值 0
源文件  
源行  
需要重启 false

文档lock_timeout

lock_timeout (PostgreSQL 12)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置任何锁等待允许的最大持续时间。
扩展描述 值为 0 将关闭超时。
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 2147483647
枚举值  
启动值 0
重置值 0
源文件  
源行  
需要重启 false

文档lock_timeout

lock_timeout (PostgreSQL 11)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置任何锁等待允许的最大持续时间。
扩展描述 值为 0 将关闭超时。
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 2147483647
枚举值  
启动值 0
重置值 0
源文件  
源行  
需要重启 false

文档lock_timeout

lock_timeout (PostgreSQL 10)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置任何锁等待允许的最大持续时间。
扩展描述 值为 0 将关闭超时。
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 2147483647
枚举值  
启动值 0
重置值 0
源文件  
源行  
需要重启 false

文档lock_timeout

lock_timeout (PostgreSQL 9.6)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置任何锁等待允许的最大持续时间。
扩展描述 值为 0 将关闭超时。
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 2147483647
枚举值  
启动值 0
重置值 0
源文件  
源行  
需要重启 false

文档lock_timeout

lock_timeout (PostgreSQL 9.5)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置任何锁等待允许的最大持续时间。
扩展描述 值为 0 将关闭超时。
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 2147483647
枚举值  
启动值 0
重置值 0
源文件  
源行  
需要重启 false

文档lock_timeout

lock_timeout (PostgreSQL 9.4)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置任何锁等待允许的最大持续时间。
扩展描述 值为 0 将关闭超时。
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 2147483647
枚举值  
启动值 0
重置值 0
源文件  
源行  

文档lock_timeout

lock_timeout (PostgreSQL 9.3)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置任何锁等待允许的最大持续时间。
扩展描述 值为 0 将关闭超时。
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 2147483647
枚举值  
启动值 0
重置值 0
源文件  
源行  

文档lock_timeout

变更历史

示例

lock_timeout 的基本用法示例

-- session 1:
postgres=# BEGIN;
BEGIN
  
postgres=*# LOCK TABLE foo IN ACCESS EXCLUSIVE MODE;
LOCK TABLE

-- session 2:
postgres=# SET lock_timeout = '10s';
SET

postgres=# BEGIN;
BEGIN

postgres=# \timing 
Timing is on.

postgres=*# LOCK TABLE foo;
ERROR:  canceling statement due to lock timeout
Time: 10001.524 ms (00:10.002)

分类

GUC 配置项, 锁定

另请参阅

deadlock_timeout, statement_timeout

反馈

提交任何关于“lock_timeout”的评论、建议或更正请 点击此处