F.5. basebackup_to_shell — пример создания получателей резервной копии для модуля pg_basebackup #
В модуле basebackup_to_shell
реализован дополнительный получатель базовых копий, названный shell
. Он позволяет выполнить pg_basebackup --target=shell
или, в зависимости от конфигурации этого модуля, pg_basebackup --target=shell:
и вызвать серверную команду, выбранную администратором сервера для каждого 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
. Если роль не задана, этого получателя может использовать любой пользователь репликации.
F.5.2. Автор #
Роберт Хаас <rhaas@postgresql.org>