CONFIGURATION PARAMETER预写式日志 / WAL 汇总
summarize_wal
启动 WAL summarizer 进程以支持增量备份。
Starts the WAL summarizer process to enable incremental backup.
布尔 重载生效 引入 17 现存至 20 devel 0 次默认值变更
- 类型
- 布尔bool
- 上下文
- 重载生效改配置文件后重载(pg_ctl reload / SIGHUP)即可生效
- 默认值
off- 引入版本
- 17
- 状态
- 现存
版本轨迹
相对 PostgreSQL 17 无变化。
默认值变迁
默认值自 PostgreSQL 17 起没有变过。带单位的取值换算成了可读形式,原始的 boot_val 与单位写在悬浮提示里。
手册说明
本版译文与 PostgreSQL 17 完全一致,下面就是同一段文字。
启用 WAL 汇总进程。请注意,WAL 汇总既可以在主库上启用,也可以在备库上启用。 该参数只能在postgresql.conf文件中或服务器命令行上设置。 默认值为off。
如果wal_level被设置为minimal,则无法以 summarize_wal=on启动服务器。如果在服务器启动后将 summarize_wal设置为on而 wal_level为minimal,则汇总器会运行,但会拒绝为使用 wal_level=minimal生成的任何 WAL 创建汇总文件。
机制详解
启动 WAL summarizer 进程以支持增量备份。重新加载配置即可应用新值;已经开始的工作不会被追溯改变。
WAL summarizer 记录各 WAL 范围修改过的块,让 pg_basebackup 能构造增量备份。它可在主库或备库运行,但无法汇总以 wal_level=minimal 生成的 WAL。
应把 summarize_wal 与 wal_summary_keep_time、wal_level、archive_mode 一起监控和变更。先在对应角色与真实负载上验证,再按其 sighup context 选择会话修改、reload 或 restart;历史默认值并不等于当前有效值。
调优建议
按典型负载给出的取值思路,不是放之四海皆准的配方:实际取值要看数据量、并发度与硬件。
-
OLTP在线事务处理
只有采用 PostgreSQL 增量备份时才启用/调整 summarize_wal;监控 summarizer 进度,并让摘要覆盖任何相邻基础/增量备份之间的完整 WAL 范围。
-
OLAP分析与批处理
批量写入会增加摘要工作;把备份间隔、WAL 峰值和备份窗口一起做容量测试,摘要缺口会使增量备份失败。
-
小规格低配实例与开发机
不做增量备份就保持 summarize_wal 关闭;若启用,保留期要由实际备份链决定,并给摘要目录设置容量告警。
常见问题
- 在 wal_level=minimal 下启用,却期待生成可用摘要。
- 把 WAL 摘要本身当作 WAL 归档或备份。
- 关闭 summarizer 后仍期待 wal_summary_keep_time 继续清理。
- 未检查 summarizer 进度与摘要覆盖范围就执行增量备份。
演化历史
相邻两个大版本之间的差异,新的在前。版本号链到该版的快照。
-
PostgreSQL 20 ← 19 沿用 19
事实沿用 19
-
PostgreSQL 17 ← 16 新增此参数
PostgreSQL 17 起可用
逐版本快照
每个收录版本里的 7 项事实,与上一个存在的版本不同的格子带底色。版本号链到该版。
参考资料
同类参数
| 参数 | 类型 | 上下文 | 默认值 | 版本变动 | 最近变更 |
|---|---|---|---|---|---|
| WAL 汇总 2 | |||||
summarize_wal |
布尔 | 重载生效 | off |
— | |
| 启动 WAL summarizer 进程以支持增量备份。 | 现存 | ||||
wal_summary_keep_time |
整数 | 重载生效 | 10 d |
— | |
| 设置 WAL 摘要文件的保留时间。 | 现存 | ||||