basebackup_to_shell 添加了一个自定义的 basebackup 目标,名为 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>