max_wal_size
是一个 配置参数,它确定未经检查点的 WAL 在执行自动 检查点
之前可以增长到多大。
max_wal_size
在 PostgreSQL 9.5 中引入。
max_wal_size
并不意味着所有 WAL 文件的总大小的绝对上限。
默认值
max_wal_size
的默认值为:1GB
。
按 PostgreSQL 版本详细说明
max_wal_size (PostgreSQL 17)
设置 | 1024 |
单位 | MB |
类别 | 预写日志/检查点 |
简短描述 | 设置触发检查点的 WAL 大小。 |
额外描述 | |
上下文 | sighup |
变量类型 | 整数 |
来源 | 配置文件 |
最小值 | 2 |
最大值 | 2147483647 |
枚举值 | |
引导值 | 1024 |
重置值 | 1024 |
源文件 | /home/barwick/devel/postgres/data/17/postgresql.conf |
源代码行 | 257 |
待重启 | 否 |
文档: max_wal_size
max_wal_size (PostgreSQL 16)
设置 | 1024 |
单位 | MB |
类别 | 预写日志/检查点 |
简短描述 | 设置触发检查点的 WAL 大小。 |
额外描述 | |
上下文 | sighup |
变量类型 | 整数 |
来源 | 配置文件 |
最小值 | 2 |
最大值 | 2147483647 |
枚举值 | |
引导值 | 1024 |
重置值 | 1024 |
源文件 | /home/barwick/devel/postgres/data/16/postgresql.conf |
源代码行 | 247 |
待重启 | 否 |
文档: max_wal_size
max_wal_size (PostgreSQL 15)
设置 | 1024 |
单位 | MB |
类别 | 预写日志/检查点 |
简短描述 | 设置触发检查点的 WAL 大小。 |
额外描述 | |
上下文 | sighup |
变量类型 | 整数 |
来源 | 配置文件 |
最小值 | 2 |
最大值 | 2147483647 |
枚举值 | |
引导值 | 1024 |
重置值 | 1024 |
源文件 | /home/barwick/devel/postgres/data/15/postgresql.conf |
源代码行 | 241 |
待重启 | 否 |
文档: max_wal_size
max_wal_size (PostgreSQL 14)
设置 | 1024 |
单位 | MB |
类别 | 预写日志/检查点 |
简短描述 | 设置触发检查点的 WAL 大小。 |
额外描述 | |
上下文 | sighup |
变量类型 | 整数 |
来源 | 配置文件 |
最小值 | 2 |
最大值 | 2147483647 |
枚举值 | |
引导值 | 1024 |
重置值 | 1024 |
源文件 | /home/barwick/devel/postgres/data/14/postgresql.conf |
源代码行 | 240 |
待重启 | 否 |
文档: max_wal_size
max_wal_size (PostgreSQL 13)
设置 | 1024 |
单位 | MB |
类别 | 预写日志/检查点 |
简短描述 | 设置触发检查点的 WAL 大小。 |
额外描述 | |
上下文 | sighup |
变量类型 | 整数 |
来源 | 配置文件 |
最小值 | 2 |
最大值 | 2147483647 |
枚举值 | |
引导值 | 1024 |
重置值 | 1024 |
源文件 | /home/barwick/devel/postgres/data/13/postgresql.conf |
源代码行 | 228 |
待重启 | 否 |
文档: max_wal_size
max_wal_size (PostgreSQL 12)
设置 | 1024 |
单位 | MB |
类别 | 预写日志/检查点 |
简短描述 | 设置触发检查点的 WAL 大小。 |
额外描述 | |
上下文 | sighup |
变量类型 | 整数 |
来源 | 配置文件 |
最小值 | 2 |
最大值 | 2147483647 |
枚举值 | |
引导值 | 1024 |
重置值 | 1024 |
源文件 | /home/barwick/devel/postgres/data/12/postgresql.conf |
源代码行 | 224 |
待重启 | 否 |
文档: max_wal_size
max_wal_size (PostgreSQL 11)
设置 | 1024 |
单位 | MB |
类别 | 预写日志/检查点 |
简短描述 | 设置触发检查点的 WAL 大小。 |
额外描述 | |
上下文 | sighup |
变量类型 | 整数 |
来源 | 配置文件 |
最小值 | 2 |
最大值 | 2147483647 |
枚举值 | |
引导值 | 1024 |
重置值 | 1024 |
源文件 | /home/barwick/devel/postgres/data/11/postgresql.conf |
源代码行 | 213 |
待重启 | 否 |
文档: max_wal_size
max_wal_size (PostgreSQL 10)
设置 | 1024 |
单位 | MB |
类别 | 预写日志/检查点 |
简短描述 | 设置触发检查点的 WAL 大小。 |
额外描述 | |
上下文 | sighup |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 2 |
最大值 | 2147483647 |
枚举值 | |
引导值 | 1024 |
重置值 | 1024 |
源文件 | |
源代码行 | |
待重启 | 否 |
文档: max_wal_size
max_wal_size (PostgreSQL 9.6)
设置 | 64 |
单位 | 16MB |
类别 | 预写日志/检查点 |
简短描述 | 设置触发检查点的 WAL 大小。 |
额外描述 | |
上下文 | sighup |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 2 |
最大值 | 2147483647 |
枚举值 | |
引导值 | 64 |
重置值 | 64 |
源文件 | |
源代码行 | |
待重启 | 否 |
文档: max_wal_size
max_wal_size (PostgreSQL 9.5)
设置 | 64 |
单位 | 16MB |
类别 | 预写日志/检查点 |
简短描述 | 设置触发检查点的 WAL 大小。 |
额外描述 | |
上下文 | sighup |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 2 |
最大值 | 2147483647 |
枚举值 | |
引导值 | 64 |
重置值 | 64 |
源文件 | |
源代码行 | |
待重启 | 否 |
文档: max_wal_size
更改历史记录
- PostgreSQL 9.5
- 添加 (提交 88e98230)
max_wal_size
和 min_wal_size
替换了 checkpoint_segments
。
参考文献
- PostgreSQL 文档: max_wal_size
有用链接
- max_wal_size 的重要性 - Christophe Pettus 于 2023 年 3 月撰写的博文
- 在 PostgreSQL 中调整 max_wal_size - EDB 于 2022 年 3 月撰写的博文
- 检查点距离和 WAL 数量 - CyberTec 于 2017 年 1 月撰写的博文
- 调整检查点的基础知识 - 2ndQuadrant 于 2016 年 11 月撰写的博文