登录
F.5. basebackup_to_shell — 示例“shell”pg_basebackup 模块#
basebackup_to_shell
添加了一个名为shell
的自定义 basebackup 目标。这使得可以运行pg_basebackup --target=shell
,或者根据此模块的配置运行pg_basebackup --target=shell:*
DETAIL_STRING*
,并使服务器管理员选择的服务器命令针对备份进程生成的每个 tar 存档执行。该命令将通过标准输入接收存档的内容。
此模块主要用作如何通过扩展模块创建新备份目标的示例,但在某些情况下,它本身可能很有用。为了发挥作用,此模块必须通过shared_preload_libraries或local_preload_libraries加载。
F.5.1. 配置参数#
basebackup_to_shell.command
(string
)服务器应针对备份进程生成的每个存档执行的命令。如果命令字符串中出现
%f
,它将被存档的名称替换(例如base.tar
)。如果命令字符串中出现%d
,它将被用户提供的目标详细信息替换。如果在命令字符串中使用%d
,则需要目标详细信息,否则禁止使用。出于安全原因,它只能包含字母数字字符。如果命令字符串中出现%%
,它将被单个%
替换。如果命令字符串中出现%
后面跟着任何其他字符或出现在字符串末尾,则会发生错误。basebackup_to_shell.required_role
(string
)为了使用
shell
备份目标而必需的角色。如果未设置此项,任何复制用户都可以使用shell
备份目标。
F.5.2. 作者#
Robert Haas<[[email protected]](/cdn-cgi/l/email-protection#9ceef4fdfdefdcecf3efe8fbeef9efedf0b2f3eefb)>