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)>
