В модуле basebackup_to_shell
реализован дополнительный получатель базовых копий, названный shell
. Он позволяет выполнить pg_basebackup --target=shell
или, в зависимости от конфигурации этого модуля, pg_basebackup --target=shell:
и вызвать серверную команду, выбранную администратором сервера для каждого tar-архива, созданного в процессе резервного копирования. Команда получит содержимое архива через стандартный ввод.ДОП_ИНФОРМАЦИЯ
Этот модуль разрабатывался в первую очередь как пример создания новых получателей резервной копии посредством модуля расширения, но в некоторых сценариях он может быть полезен сам по себе. Для использования модуля его нужно загрузить через shared_preload_libraries или local_preload_libraries.
basebackup_to_shell.command
(string
) Команда, которую сервер должен выполнять для каждого архива, созданного в процессе резервного копирования. Если строка команды содержит символы %f
, они заменяются именем архива (например, base.tar
). Символы %d
в строке команды заменяются дополнительной информацией, указанной пользователем, — она должна задаваться обязательно, если строка команды содержит символы %d
; в противном случае задать её нельзя. Из соображений безопасности описание может содержать только буквенные и цифровые символы. Символы %%
в командной строке заменяются одним символом %
. Если за символом %
в командной строке следует любой другой символ или он стоит в конце строки, возникает ошибка.
basebackup_to_shell.required_role
(string
) Роль, необходимая для использования получателя резервных копий shell
. Если роль не задана, этого получателя может использовать любой пользователь репликации.
Роберт Хаас <rhaas@postgresql.org>