basebackup_to_shell — пример создания адресата базовых резервных копий для модуля pg_basebackup
Модуль 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. Если этот
параметр не установлен, адресата shell может использовать любой пользователь
репликации.
Автор
Роберт Хаас (Robert Haas), rhaas@postgresql.org