basebackup_to_shell 添加了一个名为 shell 的自定义基础备份目标。这使得运行 pg_basebackup --target=shell 成为可能;根据该模块的配置方式,也可以运行 pg_basebackup --target=shell:,从而对备份过程生成的每个 tar 归档执行由服务器管理员指定的命令。该命令将通过标准输入接收归档内容。
DETAIL_STRING
该模块主要用作通过扩展模块创建新备份目标的示例,但在某些场景下它本身也可能有用。要使该模块生效,必须通过 shared_preload_libraries 或 local_preload_libraries 加载。
basebackup_to_shell.command (string)
服务器对备份过程生成的每个归档应执行的命令。如果命令字符串中出现 %f,它将被替换为归档的名称(例如 base.tar)。如果命令字符串中出现 %d,它将被替换为用户提供的目标详情。如果命令字符串中使用了 %d,则必须提供目标详情,否则禁止提供。出于安全考虑,目标详情只能包含字母与数字字符。如果命令字符串中出现 %%,它将被替换为单个 %。如果 % 后跟其他任意字符或位于字符串末尾,则会产生错误。
basebackup_to_shell.required_role (string)
使用 shell 备份目标所需的角色。如果未设置,任何复制用户都可以使用 shell 备份目标。
Robert Haas <rhaas@postgresql.org>