restore_command
是一个 配置参数,用于定义检索已归档 WAL 文件的命令。
restore_command
在 PostgreSQL 8.0 中添加。
在 PostgreSQL 11 及更早版本中,restore_command
是一个复制配置命令,只能在 recovery.conf 中设置。
默认值
restore_command
的默认值为:''
(空字符串)。
按 PostgreSQL 版本查看详情
restore_command (PostgreSQL 17)
设置 | |
单位 | |
类别 | 预写日志/归档恢复 |
简短描述 | 设置用于检索已归档 WAL 文件的 shell 命令。 |
额外描述 | |
上下文 | sighup |
变量类型 | 字符串 |
来源 | 默认 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | |
重置值 | |
源文件 | |
源代码行 | |
待重启 | 假 |
文档: restore_command
restore_command (PostgreSQL 16)
设置 | |
单位 | |
类别 | 预写日志/归档恢复 |
简短描述 | 设置用于检索已归档 WAL 文件的 shell 命令。 |
额外描述 | |
上下文 | sighup |
变量类型 | 字符串 |
来源 | 默认 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | |
重置值 | |
源文件 | |
源代码行 | |
待重启 | 假 |
文档: restore_command
restore_command (PostgreSQL 15)
设置 | |
单位 | |
类别 | 预写日志/归档恢复 |
简短描述 | 设置用于检索已归档 WAL 文件的 shell 命令。 |
额外描述 | |
上下文 | sighup |
变量类型 | 字符串 |
来源 | 默认 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | |
重置值 | |
源文件 | |
源代码行 | |
待重启 | 假 |
文档: restore_command
restore_command (PostgreSQL 14)
设置 | |
单位 | |
类别 | 预写日志/归档恢复 |
简短描述 | 设置用于检索已归档 WAL 文件的 shell 命令。 |
额外描述 | |
上下文 | sighup |
变量类型 | 字符串 |
来源 | 默认 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | |
重置值 | |
源文件 | |
源代码行 | |
待重启 | 假 |
文档: restore_command
restore_command (PostgreSQL 13)
设置 | |
单位 | |
类别 | 预写日志/归档恢复 |
简短描述 | 设置用于检索已归档 WAL 文件的 shell 命令。 |
额外描述 | |
上下文 | postmaster |
变量类型 | 字符串 |
来源 | 默认 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | |
重置值 | |
源文件 | |
源代码行 | |
待重启 | 假 |
文档: restore_command
restore_command (PostgreSQL 12)
设置 | |
单位 | |
类别 | 预写日志/归档恢复 |
简短描述 | 设置用于检索已归档 WAL 文件的 shell 命令。 |
额外描述 | |
上下文 | postmaster |
变量类型 | 字符串 |
来源 | 默认 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | |
重置值 | |
源文件 | |
源代码行 | |
待重启 | 假 |
文档: restore_command
更改历史记录
- PostgreSQL 14
- 现在可以通过配置重新加载 (
SIGHUP
) 而不是服务器重启来更改(提交 942305a3)
- 现在可以通过配置重新加载 (
- PostgreSQL 12
- PostgreSQL 8.3
- PostgreSQL 8.0
- 添加(提交 66ec2db7)
示例
以以下 restore_command
为例
scp backupuser@backup:/var/lib/backup/wal-archive/%f "%p"
在正常操作中,当检索已归档 WAL 时,PostgreSQL 日志文件将包含以下类似的条目
[2021-06-20 10:14:16 UTC] LOG: 00000: restored log file "000000010000000000000004" from archive [2021-06-20 10:14:17 UTC] LOG: 00000: restored log file "000000010000000000000005" from archive [2021-06-20 10:14:17 UTC] LOG: 00000: restored log file "000000010000000000000006" from archive
日志文件还将包含以下类似的条目
scp: /var/lib/backup/wal-archive/000000010000000000000007: No such file or directory scp: /var/lib/backup/wal-archive/00000002.history: No such file or directory
这些 *不是* 错误。PostgreSQL 将持续尝试检索下一个预期的 WAL 文件,以及在 upstream 已提升到新的时间线的情况下检索下一个历史文件。如果文件尚不存在,则配置的命令(此处为 scp
)将报告文件未找到错误,这是预期且正常的。
参考文献
- PostgreSQL 文档: restore_command
- PostgreSQL 11 文档: restore_command