commit_delay
是一个用于在启动 WAL 刷盘前添加时间延迟的 配置参数。
commit_delay
在 PostgreSQL 7.1 中添加。
默认值
commit_delay
的默认值为:0
(禁用)。
用法
注意:commit_delay
通常不被认为是一个有效或易于调整的参数,并且可能只在某些非常特定的情况下带来性能优势,同时存在整体性能下降的风险。
如果设置为非零值,commit_delay
使大量事务能够通过单个 WAL 刷盘提交,从而提高系统吞吐量。但是,它也会将每个 WAL 刷盘的延迟增加到指定值。
只有当多个事务(至少由 commit_siblings
指定的数量,默认为 5
)在指定的时间间隔内准备好提交时,commit_delay
才有实际用途。
按 PostgreSQL 版本分列的详细信息
commit_delay (PostgreSQL 17)
设置 | 0 |
单位 | |
类别 | 预写日志 / 设置 |
简短描述 | 设置事务提交与将 WAL 刷盘到磁盘之间的延迟(微秒)。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | 0 |
最大值 | 100000 |
枚举值 | |
启动值 | 0 |
重置值 | 0 |
源文件 | |
源代码行号 | |
挂起重启 | 否 |
文档:commit_delay
commit_delay (PostgreSQL 16)
设置 | 0 |
单位 | |
类别 | 预写日志 / 设置 |
简短描述 | 设置事务提交与将 WAL 刷盘到磁盘之间的延迟(微秒)。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | 0 |
最大值 | 100000 |
枚举值 | |
启动值 | 0 |
重置值 | 0 |
源文件 | |
源代码行号 | |
挂起重启 | 否 |
文档:commit_delay
commit_delay (PostgreSQL 15)
设置 | 0 |
单位 | |
类别 | 预写日志 / 设置 |
简短描述 | 设置事务提交与将 WAL 刷盘到磁盘之间的延迟(微秒)。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | 0 |
最大值 | 100000 |
枚举值 | |
启动值 | 0 |
重置值 | 0 |
源文件 | |
源代码行号 | |
挂起重启 | 否 |
文档:commit_delay
commit_delay (PostgreSQL 14)
设置 | 0 |
单位 | |
类别 | 预写日志 / 设置 |
简短描述 | 设置事务提交与将 WAL 刷盘到磁盘之间的延迟(微秒)。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | 0 |
最大值 | 100000 |
枚举值 | |
启动值 | 0 |
重置值 | 0 |
源文件 | |
源代码行号 | |
挂起重启 | 否 |
文档:commit_delay
commit_delay (PostgreSQL 13)
设置 | 0 |
单位 | |
类别 | 预写日志 / 设置 |
简短描述 | 设置事务提交与将 WAL 刷盘到磁盘之间的延迟(微秒)。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | 0 |
最大值 | 100000 |
枚举值 | |
启动值 | 0 |
重置值 | 0 |
源文件 | |
源代码行号 | |
挂起重启 | 否 |
文档:commit_delay
commit_delay (PostgreSQL 12)
设置 | 0 |
单位 | |
类别 | 预写日志 / 设置 |
简短描述 | 设置事务提交与将 WAL 刷盘到磁盘之间的延迟(微秒)。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | 0 |
最大值 | 100000 |
枚举值 | |
启动值 | 0 |
重置值 | 0 |
源文件 | |
源代码行号 | |
挂起重启 | 否 |
文档:commit_delay
commit_delay (PostgreSQL 11)
设置 | 0 |
单位 | |
类别 | 预写日志 / 设置 |
简短描述 | 设置事务提交与将 WAL 刷盘到磁盘之间的延迟(微秒)。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | 0 |
最大值 | 100000 |
枚举值 | |
启动值 | 0 |
重置值 | 0 |
源文件 | |
源代码行号 | |
挂起重启 | 否 |
文档:commit_delay
commit_delay (PostgreSQL 10)
设置 | 0 |
单位 | |
类别 | 预写日志 / 设置 |
简短描述 | 设置事务提交与将 WAL 刷盘到磁盘之间的延迟(微秒)。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | 0 |
最大值 | 100000 |
枚举值 | |
启动值 | 0 |
重置值 | 0 |
源文件 | |
源代码行号 | |
挂起重启 | 否 |
文档:commit_delay
commit_delay (PostgreSQL 9.6)
设置 | 0 |
单位 | |
类别 | 预写日志 / 设置 |
简短描述 | 设置事务提交与将 WAL 刷盘到磁盘之间的延迟(微秒)。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | 0 |
最大值 | 100000 |
枚举值 | |
启动值 | 0 |
重置值 | 0 |
源文件 | |
源代码行号 | |
挂起重启 | 否 |
文档:commit_delay
commit_delay (PostgreSQL 9.5)
设置 | 0 |
单位 | |
类别 | 预写日志 / 设置 |
简短描述 | 设置事务提交与将 WAL 刷盘到磁盘之间的延迟(微秒)。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | 0 |
最大值 | 100000 |
枚举值 | |
启动值 | 0 |
重置值 | 0 |
源文件 | |
源代码行号 | |
挂起重启 | 否 |
文档:commit_delay
commit_delay (PostgreSQL 9.4)
设置 | 0 |
单位 | |
类别 | 预写日志 / 设置 |
简短描述 | 设置事务提交与将 WAL 刷盘到磁盘之间的延迟(微秒)。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | 0 |
最大值 | 100000 |
枚举值 | |
启动值 | 0 |
重置值 | 0 |
源文件 | |
源代码行号 |
文档:commit_delay
commit_delay (PostgreSQL 9.3)
设置 | 0 |
单位 | |
类别 | 预写日志 / 设置 |
简短描述 | 设置事务提交与将 WAL 刷盘到磁盘之间的延迟(微秒)。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | 0 |
最大值 | 100000 |
枚举值 | |
启动值 | 0 |
重置值 | 0 |
源文件 | |
源代码行号 |
文档:commit_delay
commit_delay (PostgreSQL 9.2)
设置 | 0 |
单位 | |
类别 | 预写日志 / 设置 |
简短描述 | 设置事务提交与将 WAL 刷盘到磁盘之间的延迟(微秒)。 |
额外描述 | |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | 0 |
最大值 | 100000 |
枚举值 | |
启动值 | 0 |
重置值 | 0 |
源文件 | |
源代码行号 |
文档:commit_delay
commit_delay (PostgreSQL 9.1)
设置 | 0 |
单位 | |
类别 | 预写日志 / 设置 |
简短描述 | 设置事务提交与将 WAL 刷盘到磁盘之间的延迟(微秒)。 |
额外描述 | |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | 0 |
最大值 | 100000 |
枚举值 | |
启动值 | 0 |
重置值 | 0 |
源文件 | |
源代码行号 |
文档:commit_delay
commit_delay (PostgreSQL 9.0)
设置 | 0 |
单位 | |
类别 | 预写日志 / 设置 |
简短描述 | 设置事务提交与将 WAL 刷盘到磁盘之间的延迟(微秒)。 |
额外描述 | |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | 0 |
最大值 | 100000 |
枚举值 | |
启动值 | 0 |
重置值 | 0 |
源文件 | |
源代码行号 |
文档:commit_delay
commit_delay (PostgreSQL 8.4)
设置 | 0 |
单位 | |
类别 | 预写日志 / 设置 |
简短描述 | 设置事务提交与将 WAL 刷盘到磁盘之间的延迟(微秒)。 |
额外描述 | |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | 0 |
最大值 | 100000 |
枚举值 | |
启动值 | 0 |
重置值 | 0 |
源文件 | |
源代码行号 |
文档:commit_delay
commit_delay (PostgreSQL 8.3)
设置 | |
单位 | |
类别 | 预写日志 / 设置 |
简短描述 | 设置事务提交与将 WAL 刷盘到磁盘之间的延迟(微秒)。 |
额外描述 | |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | 0 |
最大值 | 100000 |
文档:commit_delay
commit_delay (PostgreSQL 8.2)
设置 | |
单位 | |
类别 | 预写日志 / 检查点 |
简短描述 | 设置事务提交与将 WAL 刷盘到磁盘之间的延迟(微秒)。 |
额外描述 | |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | 0 |
最大值 | 100000 |
文档:commit_delay
变更历史
- PostgreSQL 9.3
- PostgreSQL 7.1
- 添加 (提交 74151052)
参考文献
- PostgreSQL 文档: commit_delay