wal_keep_segments 是一个 配置参数,用于确定 pg_wal 目录中要保留的最小 WAL 文件数量。
wal_keep_segments 添加于 PostgreSQL 9.0,并在 PostgreSQL 13 中重命名为 wal_keep_size。
默认值
wal_keep_segments 的默认值为:0。
用法
通过将 wal_keep_segments 设置为大于零的值,可以强制 PostgreSQL 在本地服务器上维护一定数量的 WAL 文件。当执行 pg_basebackup 来创建服务器副本时,这可能很有用,以确保在备份完成后可以获取自备份开始以来所做的更改;或者,当备用服务器无法连接到主服务器或上游节点时,可以尝试防止出现这种情况,即它仍然可以检索到足够数量的 WAL 来赶上。
然而,这并不是一种可靠的 WAL 保留方法,因为很难甚至不可能设置一个足够高的值来覆盖可能需要检索 WAL 的所有情况,而又不冒耗尽本地服务器存储空间的风险。更可靠的解决方案通常涉及复制槽和 WAL 归档。
按 PostgreSQL 版本详细信息
wal_keep_segments (PostgreSQL 12)
| 设置 |
0 |
| 单位 |
|
| 类别 |
复制/发送服务器 |
| 简短描述 |
设置为备用服务器保留的 WAL 文件数量。 |
| 扩展描述 |
|
| 上下文 |
sighup |
| 变量类型 |
整数 |
| 来源 |
默认 |
| 最小值 |
0 |
| 最大值 |
2147483647 |
| 枚举值 |
|
| 启动值 |
0 |
| 重置值 |
0 |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:wal_keep_segments
wal_keep_segments (PostgreSQL 11)
| 设置 |
0 |
| 单位 |
|
| 类别 |
复制/发送服务器 |
| 简短描述 |
设置为备用服务器保留的 WAL 文件数量。 |
| 扩展描述 |
|
| 上下文 |
sighup |
| 变量类型 |
整数 |
| 来源 |
默认 |
| 最小值 |
0 |
| 最大值 |
2147483647 |
| 枚举值 |
|
| 启动值 |
0 |
| 重置值 |
0 |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:wal_keep_segments
wal_keep_segments (PostgreSQL 10)
| 设置 |
0 |
| 单位 |
|
| 类别 |
复制/发送服务器 |
| 简短描述 |
设置为备用服务器保留的 WAL 文件数量。 |
| 扩展描述 |
|
| 上下文 |
sighup |
| 变量类型 |
整数 |
| 来源 |
默认 |
| 最小值 |
0 |
| 最大值 |
2147483647 |
| 枚举值 |
|
| 启动值 |
0 |
| 重置值 |
0 |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:wal_keep_segments
wal_keep_segments (PostgreSQL 9.6)
| 设置 |
0 |
| 单位 |
|
| 类别 |
复制/发送服务器 |
| 简短描述 |
设置为备用服务器保留的 WAL 文件数量。 |
| 扩展描述 |
|
| 上下文 |
sighup |
| 变量类型 |
整数 |
| 来源 |
默认 |
| 最小值 |
0 |
| 最大值 |
2147483647 |
| 枚举值 |
|
| 启动值 |
0 |
| 重置值 |
0 |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:wal_keep_segments
wal_keep_segments (PostgreSQL 9.5)
| 设置 |
0 |
| 单位 |
|
| 类别 |
复制/发送服务器 |
| 简短描述 |
设置为备用服务器保留的 WAL 文件数量。 |
| 扩展描述 |
|
| 上下文 |
sighup |
| 变量类型 |
整数 |
| 来源 |
默认 |
| 最小值 |
0 |
| 最大值 |
2147483647 |
| 枚举值 |
|
| 启动值 |
0 |
| 重置值 |
0 |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:wal_keep_segments
wal_keep_segments (PostgreSQL 9.4)
| 设置 |
0 |
| 单位 |
|
| 类别 |
复制/发送服务器 |
| 简短描述 |
设置为备用服务器保留的 WAL 文件数量。 |
| 扩展描述 |
|
| 上下文 |
sighup |
| 变量类型 |
整数 |
| 来源 |
默认 |
| 最小值 |
0 |
| 最大值 |
2147483647 |
| 枚举值 |
|
| 启动值 |
0 |
| 重置值 |
0 |
| 源文件 |
|
| 源行 |
|
文档:wal_keep_segments
wal_keep_segments (PostgreSQL 9.3)
| 设置 |
0 |
| 单位 |
|
| 类别 |
复制/发送服务器 |
| 简短描述 |
设置为备用服务器保留的 WAL 文件数量。 |
| 扩展描述 |
|
| 上下文 |
sighup |
| 变量类型 |
整数 |
| 来源 |
默认 |
| 最小值 |
0 |
| 最大值 |
2147483647 |
| 枚举值 |
|
| 启动值 |
0 |
| 重置值 |
0 |
| 源文件 |
|
| 源行 |
|
文档:wal_keep_segments
wal_keep_segments (PostgreSQL 9.2)
| 设置 |
0 |
| 单位 |
|
| 类别 |
复制/发送服务器 |
| 简短描述 |
设置为备用服务器保留的 WAL 文件数量。 |
| 扩展描述 |
|
| 上下文 |
sighup |
| 变量类型 |
整数 |
| 来源 |
默认 |
| 最小值 |
0 |
| 最大值 |
2147483647 |
| 枚举值 |
|
| 启动值 |
0 |
| 重置值 |
0 |
| 源文件 |
|
| 源行 |
|
文档:wal_keep_segments
wal_keep_segments (PostgreSQL 9.1)
| 设置 |
0 |
| 单位 |
|
| 类别 |
复制 / 主服务器 |
| 简短描述 |
设置为备用服务器保留的 WAL 文件数量。 |
| 扩展描述 |
|
| 上下文 |
sighup |
| 变量类型 |
整数 |
| 来源 |
默认 |
| 最小值 |
0 |
| 最大值 |
2147483647 |
| 枚举值 |
|
| 启动值 |
0 |
| 重置值 |
0 |
| 源文件 |
|
| 源行 |
|
文档:wal_keep_segments
wal_keep_segments (PostgreSQL 9.0)
| 设置 |
0 |
| 单位 |
|
| 类别 |
预写日志 / 流式复制 |
| 简短描述 |
设置为备用服务器保留的 WAL 文件数量。 |
| 扩展描述 |
|
| 上下文 |
sighup |
| 变量类型 |
整数 |
| 来源 |
默认 |
| 最小值 |
0 |
| 最大值 |
2147483647 |
| 枚举值 |
|
| 启动值 |
0 |
| 重置值 |
0 |
| 源文件 |
|
| 源行 |
|
文档:wal_keep_segments
变更历史