2024年9月26日:PostgreSQL 17 发布!
支持的版本:当前 (17) / 16 / 15
开发版本:开发版

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

basebackup_to_shell 添加了一个名为 shell 的自定义 basebackup 目标。这使得可以运行 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

提交更正

如果您在文档中看到任何不正确的内容,与您对特定功能的体验不符,或者需要进一步说明,请使用 此表单 报告文档问题。