restore_command
英文手册覆盖始于 PostgreSQL 7.4. 来源历史与运行验证各自保留独立版本边界。
当前阅读 PG 18·选择有来源记录的版本
- boot val
- 未知
- category
- Write-Ahead Log / Archive Recovery
- context
- sighup
- documented
- true
- enumvals
- 未知
- extra desc
- 未知
- lang
- en
- max val
- 未知
- metadata version
- 18
- min val
- 未知
- name
- restore_command
- short desc
- Sets the shell command that will be called to retrieve an archived WAL file.
- source
- pg-settings-source-snapshot
- unit
- 未知
- vartype
- string
版本定义 PG 18
用于获取 WAL 文件系列的一个已归档段的本地 shell 命令。这个参数是归档恢复所必需的,但是对于流复制是可选的。在该字符串中的任何%f会被替换为从归档中获得的文件的名字,并且任何%p会被替换为服务器上的复制目标路径名(该路径名是相对于当前工作目录的,即集簇的数据目录)。任何%r会被包含上一个可用重启点的文件的名字所替换。在那些必须被保留用于使得一次恢复变成可重启的文件中,这个文件是其中最早的一个,因此这个信息可以被用来把归档截断为支持从当前恢复重启所需的最小值。%r通常只被温备配置(见第 26.2 节)所使用。要嵌入一个真正的%字符,需要写成%%。
很重要的一点是,该命令只有在成功时才返回一个为零的退出状态。该命令将会被要求获取归档中不存在的文件;遇到这种情况时,它必须返回非零。示例:
restore_command = 'cp /mnt/server/archivedir/%f "%p"' restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows
一个例外是如果该命令被一个信号(不是SIGTERM,它是数据库服务器关闭的一部分)或者一个 shell 错误(例如命令未找到)终止,则恢复将会中止并且服务器将不会启动。
这个参数只能在postgresql.conf文件中或通过服务器命令行进行设置。
比较版本
来源引用
定义来源
center · PostgreSQL 18 · english-manuals:308fd5ed85f537a917b0cdc7c60ebdd31bafc2f4a7840d15cf6cae7a8edbffaf
正文语言: zh-Hans · 2026-09-11@29c86d9