lock_timeout

控制会话获取锁等待时间的 GUC

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

lock_timeoutPostgreSQL 9.3 中添加。

默认值

lock_timeout 的默认值为:0已禁用)。

用法

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

按 PostgreSQL 版本分列的详细信息

lock_timeout (PostgreSQL 17)

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

文档lock_timeout

lock_timeout (PostgreSQL 16)

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

文档lock_timeout

lock_timeout (PostgreSQL 15)

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

文档lock_timeout

lock_timeout (PostgreSQL 14)

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

文档lock_timeout

lock_timeout (PostgreSQL 13)

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

文档lock_timeout

lock_timeout (PostgreSQL 12)

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

文档lock_timeout

lock_timeout (PostgreSQL 11)

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

文档lock_timeout

lock_timeout (PostgreSQL 10)

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

文档lock_timeout

lock_timeout (PostgreSQL 9.6)

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

文档lock_timeout

lock_timeout (PostgreSQL 9.5)

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

文档lock_timeout

lock_timeout (PostgreSQL 9.4)

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

文档lock_timeout

lock_timeout (PostgreSQL 9.3)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置任何等待锁的最大允许持续时间。
额外描述 值为 0 将关闭超时。
上下文 用户
变量类型 整数
来源 默认
最小值 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_timeoutstatement_timeout

反馈

提交您对 "lock_timeout" 的任何评论、建议或更正 此处