2025年9月25日: PostgreSQL 18 发布!
支持的版本:当前 (18) / 17 / 16 / 15
开发版本:devel

F.4. basebackup_to_shell — 示例“shell”pg_basebackup 模块 #

basebackup_to_shell 添加了一个自定义的 basebackup 目标,名为 shell。这使得可以运行 pg_basebackup --target=shell,或者根据此模块的配置方式,运行 pg_basebackup --target=shell:DETAIL_STRING,并使服务器管理员选择的服务器命令在备份过程中生成的每个 tar 归档上执行。该命令将通过标准输入接收归档的内容。

此模块主要用作创建新的备份目标的扩展模块的示例,但在某些场景下,它本身也可能很有用。为了使此模块正常工作,必须通过 shared_preload_librarieslocal_preload_libraries 进行加载。

F.4.1. 配置参数 #

basebackup_to_shell.command (string)

服务器在备份过程中为每个生成的归档应执行的命令。如果命令字符串中出现 %f,它将被替换为归档的名称(例如 base.tar)。如果命令字符串中出现 %d,它将被替换为用户提供的目标详细信息。如果命令字符串中使用 %d,则必须提供目标详细信息,否则不允许使用。出于安全原因,它只能包含字母数字字符。如果命令字符串中出现 %%,它将被替换为单个 %。如果命令字符串中出现 %,后跟任何其他字符或位于字符串末尾,则会发生错误。

basebackup_to_shell.required_role (string)

在使用 shell 备份目标时所需的角色。如果未设置此项,任何复制用户都可以使用 shell 备份目标。

F.4.2. 作者 #

Robert Haas

提交更正

如果您在文档中发现任何不正确之处、与您在使用特定功能时的经验不符之处,或需要进一步说明之处,请使用此表单报告文档问题。