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