max_locks_per_transaction
是一个 配置参数,用于控制为每个事务分配的对象锁的平均数量。
max_locks_per_transaction
在 PostgreSQL 7.2 中添加。
默认值
max_locks_per_transaction
的默认值为:64
。
用法
在备用服务器上,max_locks_per_transaction
必须设置为与主服务器相同或更高的值。
max_locks_per_transaction
的当前值是 pg_control
中记录的 GUC 参数之一。
按 PostgreSQL 版本分列的详细信息
max_locks_per_transaction (PostgreSQL 18)
设置 |
64 |
单位 |
|
类别 |
锁管理 |
简短描述 |
设置每个事务的最大锁数。 |
额外描述 |
共享锁表的大小是基于这样的假设:在任何时间点,每个服务器进程或已准备的事务最多需要锁定“max_locks_per_transaction”个对象。 |
上下文 |
postmaster |
变量类型 |
整数 |
来源 |
默认值 |
最小值 |
10 |
最大值 |
2147483647 |
枚举值 |
|
启动值 |
64 |
重置值 |
64 |
源文件 |
|
源代码行 |
|
等待重启 |
否 |
文档:max_locks_per_transaction
max_locks_per_transaction (PostgreSQL 17)
设置 |
64 |
单位 |
|
类别 |
锁管理 |
简短描述 |
设置每个事务的最大锁数。 |
额外描述 |
共享锁表的大小是基于这样的假设:在任何时间点,每个服务器进程或已准备的事务最多需要锁定“max_locks_per_transaction”个对象。 |
上下文 |
postmaster |
变量类型 |
整数 |
来源 |
默认值 |
最小值 |
10 |
最大值 |
2147483647 |
枚举值 |
|
启动值 |
64 |
重置值 |
64 |
源文件 |
|
源代码行 |
|
等待重启 |
否 |
文档:max_locks_per_transaction
max_locks_per_transaction (PostgreSQL 16)
设置 |
64 |
单位 |
|
类别 |
锁管理 |
简短描述 |
设置每个事务的最大锁数。 |
额外描述 |
共享锁表的大小是基于这样的假设:在任何时间点,每个服务器进程或已准备的事务最多需要锁定 max_locks_per_transaction 个对象。 |
上下文 |
postmaster |
变量类型 |
整数 |
来源 |
默认值 |
最小值 |
10 |
最大值 |
2147483647 |
枚举值 |
|
启动值 |
64 |
重置值 |
64 |
源文件 |
|
源代码行 |
|
等待重启 |
否 |
文档:max_locks_per_transaction
max_locks_per_transaction (PostgreSQL 15)
设置 |
64 |
单位 |
|
类别 |
锁管理 |
简短描述 |
设置每个事务的最大锁数。 |
额外描述 |
共享锁表的大小是基于这样的假设:在任何时间点,最多需要锁定 max_locks_per_transaction * max_connections 个不同的对象。 |
上下文 |
postmaster |
变量类型 |
整数 |
来源 |
默认值 |
最小值 |
10 |
最大值 |
2147483647 |
枚举值 |
|
启动值 |
64 |
重置值 |
64 |
源文件 |
|
源代码行 |
|
等待重启 |
否 |
文档:max_locks_per_transaction
max_locks_per_transaction (PostgreSQL 14)
设置 |
64 |
单位 |
|
类别 |
锁管理 |
简短描述 |
设置每个事务的最大锁数。 |
额外描述 |
共享锁表的大小是基于这样的假设:在任何时间点,最多需要锁定 max_locks_per_transaction * max_connections 个不同的对象。 |
上下文 |
postmaster |
变量类型 |
整数 |
来源 |
默认值 |
最小值 |
10 |
最大值 |
2147483647 |
枚举值 |
|
启动值 |
64 |
重置值 |
64 |
源文件 |
|
源代码行 |
|
等待重启 |
否 |
文档:max_locks_per_transaction
max_locks_per_transaction (PostgreSQL 13)
设置 |
64 |
单位 |
|
类别 |
锁管理 |
简短描述 |
设置每个事务的最大锁数。 |
额外描述 |
共享锁表的大小是基于这样的假设:在任何时间点,最多需要锁定 max_locks_per_transaction * max_connections 个不同的对象。 |
上下文 |
postmaster |
变量类型 |
整数 |
来源 |
默认值 |
最小值 |
10 |
最大值 |
2147483647 |
枚举值 |
|
启动值 |
64 |
重置值 |
64 |
源文件 |
|
源代码行 |
|
等待重启 |
否 |
文档:max_locks_per_transaction
max_locks_per_transaction (PostgreSQL 12)
设置 |
64 |
单位 |
|
类别 |
锁管理 |
简短描述 |
设置每个事务的最大锁数。 |
额外描述 |
共享锁表的大小是基于这样的假设:在任何时间点,最多需要锁定 max_locks_per_transaction * max_connections 个不同的对象。 |
上下文 |
postmaster |
变量类型 |
整数 |
来源 |
默认值 |
最小值 |
10 |
最大值 |
2147483647 |
枚举值 |
|
启动值 |
64 |
重置值 |
64 |
源文件 |
|
源代码行 |
|
等待重启 |
否 |
文档:max_locks_per_transaction
max_locks_per_transaction (PostgreSQL 11)
设置 |
64 |
单位 |
|
类别 |
锁管理 |
简短描述 |
设置每个事务的最大锁数。 |
额外描述 |
共享锁表的大小是基于这样的假设:在任何时间点,最多需要锁定 max_locks_per_transaction * max_connections 个不同的对象。 |
上下文 |
postmaster |
变量类型 |
整数 |
来源 |
默认值 |
最小值 |
10 |
最大值 |
2147483647 |
枚举值 |
|
启动值 |
64 |
重置值 |
64 |
源文件 |
|
源代码行 |
|
等待重启 |
否 |
文档:max_locks_per_transaction
max_locks_per_transaction (PostgreSQL 10)
设置 |
64 |
单位 |
|
类别 |
锁管理 |
简短描述 |
设置每个事务的最大锁数。 |
额外描述 |
共享锁表的大小是基于这样的假设:在任何时间点,最多需要锁定 max_locks_per_transaction * max_connections 个不同的对象。 |
上下文 |
postmaster |
变量类型 |
整数 |
来源 |
默认值 |
最小值 |
10 |
最大值 |
2147483647 |
枚举值 |
|
启动值 |
64 |
重置值 |
64 |
源文件 |
|
源代码行 |
|
等待重启 |
否 |
文档:max_locks_per_transaction
max_locks_per_transaction (PostgreSQL 9.6)
设置 |
64 |
单位 |
|
类别 |
锁管理 |
简短描述 |
设置每个事务的最大锁数。 |
额外描述 |
共享锁表的大小是基于这样的假设:在任何时间点,最多需要锁定 max_locks_per_transaction * max_connections 个不同的对象。 |
上下文 |
postmaster |
变量类型 |
整数 |
来源 |
默认值 |
最小值 |
10 |
最大值 |
2147483647 |
枚举值 |
|
启动值 |
64 |
重置值 |
64 |
源文件 |
|
源代码行 |
|
等待重启 |
否 |
文档:max_locks_per_transaction
max_locks_per_transaction (PostgreSQL 9.5)
设置 |
64 |
单位 |
|
类别 |
锁管理 |
简短描述 |
设置每个事务的最大锁数。 |
额外描述 |
共享锁表的大小是基于这样的假设:在任何时间点,最多需要锁定 max_locks_per_transaction * max_connections 个不同的对象。 |
上下文 |
postmaster |
变量类型 |
整数 |
来源 |
默认值 |
最小值 |
10 |
最大值 |
2147483647 |
枚举值 |
|
启动值 |
64 |
重置值 |
64 |
源文件 |
|
源代码行 |
|
等待重启 |
否 |
文档:max_locks_per_transaction
max_locks_per_transaction (PostgreSQL 9.4)
设置 |
64 |
单位 |
|
类别 |
锁管理 |
简短描述 |
设置每个事务的最大锁数。 |
额外描述 |
共享锁表的大小是基于这样的假设:在任何时间点,最多需要锁定 max_locks_per_transaction * max_connections 个不同的对象。 |
上下文 |
postmaster |
变量类型 |
整数 |
来源 |
默认值 |
最小值 |
10 |
最大值 |
2147483647 |
枚举值 |
|
启动值 |
64 |
重置值 |
64 |
源文件 |
|
源代码行 |
|
文档:max_locks_per_transaction
max_locks_per_transaction (PostgreSQL 9.3)
设置 |
64 |
单位 |
|
类别 |
锁管理 |
简短描述 |
设置每个事务的最大锁数。 |
额外描述 |
共享锁表的大小是基于这样的假设:在任何时间点,最多需要锁定 max_locks_per_transaction * max_connections 个不同的对象。 |
上下文 |
postmaster |
变量类型 |
整数 |
来源 |
默认值 |
最小值 |
10 |
最大值 |
2147483647 |
枚举值 |
|
启动值 |
64 |
重置值 |
64 |
源文件 |
|
源代码行 |
|
文档:max_locks_per_transaction
max_locks_per_transaction (PostgreSQL 9.2)
设置 |
64 |
单位 |
|
类别 |
锁管理 |
简短描述 |
设置每个事务的最大锁数。 |
额外描述 |
共享锁表的大小是基于这样的假设:在任何时间点,最多需要锁定 max_locks_per_transaction * max_connections 个不同的对象。 |
上下文 |
postmaster |
变量类型 |
整数 |
来源 |
默认值 |
最小值 |
10 |
最大值 |
2147483647 |
枚举值 |
|
启动值 |
64 |
重置值 |
64 |
源文件 |
|
源代码行 |
|
文档:max_locks_per_transaction
max_locks_per_transaction (PostgreSQL 9.1)
设置 |
64 |
单位 |
|
类别 |
锁管理 |
简短描述 |
设置每个事务的最大锁数。 |
额外描述 |
共享锁表的大小是基于这样的假设:在任何时间点,最多需要锁定 max_locks_per_transaction * max_connections 个不同的对象。 |
上下文 |
postmaster |
变量类型 |
整数 |
来源 |
默认值 |
最小值 |
10 |
最大值 |
2147483647 |
枚举值 |
|
启动值 |
64 |
重置值 |
64 |
源文件 |
|
源代码行 |
|
文档:max_locks_per_transaction
max_locks_per_transaction (PostgreSQL 9.0)
设置 |
64 |
单位 |
|
类别 |
锁管理 |
简短描述 |
设置每个事务的最大锁数。 |
额外描述 |
共享锁表的大小是基于这样的假设:在任何时间点,最多需要锁定 max_locks_per_transaction * max_connections 个不同的对象。 |
上下文 |
postmaster |
变量类型 |
整数 |
来源 |
默认值 |
最小值 |
10 |
最大值 |
2147483647 |
枚举值 |
|
启动值 |
64 |
重置值 |
64 |
源文件 |
|
源代码行 |
|
文档:max_locks_per_transaction
max_locks_per_transaction (PostgreSQL 8.4)
设置 |
64 |
单位 |
|
类别 |
锁管理 |
简短描述 |
设置每个事务的最大锁数。 |
额外描述 |
共享锁表的大小是基于这样的假设:在任何时间点,最多需要锁定 max_locks_per_transaction * max_connections 个不同的对象。 |
上下文 |
postmaster |
变量类型 |
整数 |
来源 |
默认值 |
最小值 |
10 |
最大值 |
2147483647 |
枚举值 |
|
启动值 |
64 |
重置值 |
64 |
源文件 |
|
源代码行 |
|
文档:max_locks_per_transaction
max_locks_per_transaction (PostgreSQL 8.3)
设置 |
|
单位 |
|
类别 |
锁管理 |
简短描述 |
设置每个事务的最大锁数。 |
额外描述 |
共享锁表的大小是基于这样的假设:在任何时间点,最多需要锁定 max_locks_per_transaction * max_connections 个不同的对象。 |
上下文 |
postmaster |
变量类型 |
整数 |
来源 |
默认值 |
最小值 |
10 |
最大值 |
2147483647 |
文档:max_locks_per_transaction
max_locks_per_transaction (PostgreSQL 8.2)
设置 |
|
单位 |
|
类别 |
锁管理 |
简短描述 |
设置每个事务的最大锁数。 |
额外描述 |
共享锁表的大小是基于这样的假设:在任何时间点,最多需要锁定 max_locks_per_transaction * max_connections 个不同的对象。 |
上下文 |
postmaster |
变量类型 |
整数 |
来源 |
默认值 |
最小值 |
10 |
最大值 |
2147483647 |
文档:max_locks_per_transaction
更改历史记录
另请参见
deadlock_timeout,max_pred_locks_per_transaction,max_pred_locks_per_relation,max_pred_locks_per_page