Перейти к основному содержимому

basebackup_to_shell — пример модуля shell для pg_basebackup

примечание

Эта страница переведена при помощи нейросети GigaChat.

basebackup_to_shell добавляет пользовательскую цель резервного копирования под названием shell. Это позволяет запускать pg_basebackup --target=shell или, в зависимости от конфигурации этого модуля, pg_basebackup --target=shell:DETAIL_STRING, и вызывать команду сервера, выбранную администратором сервера, для каждого архива 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.