F.5. basebackup_to_shell — пример «shell» модуль pg_basebackup#
F.5. basebackup_to_shell — пример "shell" модуль pg_basebackup #
basebackup_to_shell
добавляет пользовательскую цель
для базовой резервной копии, называемую shell
. Это позволяет запускать
pg_basebackup --target=shell
или, в зависимости от настроек этого
модуля,
pg_basebackup --target=shell:
,
и вызывать выполнение команды сервера, выбранной администратором сервера,
для каждого tar-архива, созданного процессом резервного копирования. Команда будет получать
содержимое архива через стандартный ввод.
DETAIL_STRING
Этот модуль в первую очередь предназначен в качестве примера того, как создать новые цели резервного копирования с помощью модуля расширения, но в некоторых сценариях он может быть полезен сам по себе. Для работы этого модуля он должен быть загружен с помощью 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
. Если она не установлена, любой пользователь репликации может использовать резервную цельshell
.
F.5.2. Автор #
Robert Haas <rhaas@postgresql.org>