Конфигурационный файл модуля

В ходе инсталляции пакета модуля в системе создается конфигурационный файл /opt/rubackup/etc/rb_module_postgresql.conf.

Содержимое конфигурационного файла
# Symbol "#" at the beginning of the line treats as a comment
# "#" in the middle of the line treats as a parameter value
# So please do not use comments in one line with parameter

dbname postgres
username rubackup_backuper
password 12345
host localhost
port 5432

#Enable interaction with centralized secret repositories
use_secret_storage no
archive_catalog /opt/rubackup/mnt/postgresql_archives
# Specify this path according to the installed version
pg_ctl /usr/lib/postgresql/12/bin/pg_ctl
postgresql_service_name postgresql
pg_waldump /usr/lib/postgresql/12/bin/pg_waldump
num_threads_for_wal_processing 8
# Specify if custom built PostgreSQL binary is required
#pg_binary /usr/bin/custom/postgres
# Specify if server output should be redirected to the file
#pg_log /tmp/postgres.log
auto_remove_wal yes
postgresql_admin postgres
# Timeout period for the last WAL file generated during backup(in seconds)
wal_wait_timeout 10
# Availability check period for last WAL file generated during backup(in seconds)
wal_check_period 1
# Patroni parameters are optional
# and may be needed for the module work in a patroni cluster
patroni_host localhost
patroni_port 8008
patroni_node_type_for_backup leader
# Далее идут параметры для подмодуля PgProbackup
# Возможные значения для restore_target_action: [pause | promote | shutdown]
restore_target_action pause
# Возможные значения для restore_target: [immediate | latest]
restore_target immediate
# Абсолютный путь до утилиты pg_probackup
pg_probackup /opt/pgpro/std-13/bin/pg_probackup
# Абсолютный путь до каталога, в котором хранятся резервные копии
probackup_catalog_copies /opt/rubackup/mnt/pg_probackup
# Имя инстанса. Имя подкаталогов, в которых будут храниться копии
probackup_instance_name data
# Возможные значения для s3_interface: [minio | vk]
s3_interface minio
# Путь до утилиты pg_receivewal (физическая репликация), начиная с 10 версии
pg_receivewal /usr/lib/postgresql/10/bin/pg_receivewal
# Использовать стрим режим. Возможные значения "yes", "no"
stream no
# Выполнить drop физического слота с именем slot_name после создания РК
drop_slot no
# Использовать физический слот, заданный в системе, иначе создать с указанным именем
slot_name my_slot_name
# Директория для сохранения репликационных данных
replication_catalog /opt/rubackup/mnt/postgresql_replica
# Использовать move для переноса WAL из архива вместо копирования
move_on_archive_get yes
# Количество потоков для архивации WAL
num_threads_for_wal_archiving 1
# Количество файлов обрабатываемых за один вызов архивации
batch_size_for_wal_archiving 1
# Макс. размер хранимых локально архивных WAL файлов (0 - нет лимита)
wal_archive_files_size 0
# Макс. время в секундах которое процесс снятия РК ждет освобождения архивного каталога
cleanup_wait_timeout 1000
# Выполнять проверку работы команд архивации перед снятием РК
make_archiving_check yes

Параметры из конфигурационного файла rb_module_postgresql.conf представлены в таблице.

Таблица 1. Параметры файла конфигурации модуля резервного копирования PostgreSQL
Параметр Назначение Значение по умолчанию

dbname

Имя базы данных, резервное копирование которой будет выполняться

postgres

username

Имя пользователя в СУБД PostgreSQL, обладающего правами выполнять резервное копирование

rubackup_backuper

password

Пароль для пользователя, указанного в параметре username

host

IP-адрес или доменное имя локального хоста, на котором СУБД принимает подключения. Используется для взаимодействия c СУБД, резервное копирование которой выполняется. Параметр необязательный, т.е. его можно не указывать в конфигурационном файле

localhost

port

Порт для соединения с СУБД. Параметр необязательный, т.е. его можно не указывать в конфигурационном файле

5432

use_secret_storage

Использование хранилища секретов HashiCorp vault v1.16.3

no

archive_catalog

Каталог для хранения архивных WAL

/opt/rubackup/mnt/postgresql_archives

pg_ctl

Используется для запуска и остановки СУБД PostgreSQL во время восстановления с развертыванием. Местонахождение pg_ctl зависит от используемой версии.

/usr/lib/postgresql/12/bin/pg_ctl

pg_binary

Используется при вызове утилиты pg_ctl для запуска PostgreSQL во время восстановления с развертыванием. Указывает путь к исполняемому файлу postgres. Параметр pg_binary не является обязательным. По умолчанию исполняемый файл postgres берется из того же каталога, из которого запускался pg_ctl, а если найти файл невозможно, то из жёстко заданного каталога инсталляции.

pg_log

Используется при вызове утилиты pg_ctl для запуска PostgreSQL во время восстановления с развертыванием. В указанный файл будет направляться вывод сообщений сервера. Файл создаётся, если он ещё не существует. Параметр не является обязательным.

postgresql_service_name

Служебное имя базы данных

postgresql

pg_waldump

Путь до утилиты pg_waldump. Параметр необходимо задать для работы подтипа инкрементального резервного копирования page (при использовании подмодуля postgresql). Местонахождение pg_waldump зависит от используемой версии PostgreSQL.

/usr/lib/postgresql/12/bin/pg_waldump

num_threads_for_wal_processing

Количество процессов, выделенных для обработки архивных WAL файлов

8

auto_remove_wal

В случае значения yes архивные WAL будут удалены из каталога archive_catalog после выполнения резервного копирования (если они включены в резервную копию)

yes

postgresql_admin

Login администратора PostgreSQL в операционной системе

postgres

execute_only_on_leader

В случае значения yes резервное копирование выполняется только на лидере кластера Patroni. В случае активации параметра модуль возвращает отрицательный ответ серверу на запрос о наличии ресурса, если хост, на котором производится проверка, не является лидером кластера Patroni. Параметр применяется только при работе в кластере Patroni и используется только в версии модуля 2.0 и ниже. В конфигурационном файле модуля версии 2.1 параметр заменён на patroni_node_type_for_backup.

no

patroni_node_type_for_backup

В случае указания значения leader, ресурс будет доступен только при условии, что узел на котором установлен модуль с таким значением имеет роль leader в кластере Patroni. В случае указания значения sync, ресурс будет доступен только при условии, что узел, на котором установлен модуль с таким значением, имеет роль sync stanby в кластере Patroni. В случае указания значения async, ресурс будет доступен только при условии, что узел, на котором установлен модуль с таким значением, имеет роль replica в кластере Patroni. Параметр patroni_node_type_for_backup заменяет в версии модуля 2.1 параметр execute_only_on_leader.

wal_wait_timeout

Период ожидания окончания архивации последнего WAL-файла, сгенерированного во время создания резервной копии.

10

wal_check_period

Период проверки окончания архивации последнего WAL-файла, сгенерированного во время создания резервной копии

1

patroni_host

IP-адрес, на котором Patroni принимает входящие запросы Rest API. Параметр необязательный (т.е. его можно не указывать в конфигурационном файле) и необходим только для взаимодействия модуля с Rest API локального процесса Patroni. Если значение параметра не указано, будет предпринята попытка автоматически определить значение для этого параметра через утилиту lsof.

localhost

patroni_port

Порт, на котором локальный процесс Patroni слушает запросы Rest API. Параметр необязательный (т.е. его можно не указывать в конфигурационном файле) и необходим только для взаимодействия модуля с Rest API локального процесса Patroni. Если значение параметра не указано, будет предпринята попытка автоматически определить значение для этого параметра через утилиту lsof.

8008

restore_target_action

Восстановление целевого действия: В случае указания значения pause, восстановление будет приостановлено. В случае указания значения promote, восстановление будет продолжено. В случае указания значения shutdown восстановление не производится. Параметр используется только для подмодуля pg_probackup.

pause

restore_target

Какое восстановление будет выполнено: В случае указания значения immediate, будет восстановлена срочное РК. В случае указания значения latest, будет восстановлена последняя РК. Параметр используется только для подмодуля pg_probackup.

immediate

pg_probackup

Абсолютный путь до утилиты pg_probackup. Параметр используется только для подмодуля pg_probackup.

/opt/pgpro/std-13/bin/pg_probackup

probackup_catalog_copies

Абсолютный путь до каталога, хранящего резервные копии. Параметр используется только для подмодуля pg_probackup.

/opt/rubackup/mnt/pg_probackup

probackup_instance_name

Имя подкаталога для хранения резервных копий. Параметр используется только для подмодуля pg_probackup.

data

s3_interface minio

Интерфейс облачного хранилища В случае указания значения minio, будет использоваться объектное хранилище MinIO, совместимое с облачным хранилищем S3. В случае указания значения vk, будет использоваться хранилище vk. Параметр используется только для подмодуля pg_probackup.

minio

pg_receivewal

Путь до утилиты pg_receivewal. Утилита обрабатывает ошибки и сохраняет файлы. Параметр используется только для подмодуля pg_probackup.

/usr/lib/postgresql/10/bin/pg_receivewal

stream

Параметр, указывающий на использование режима потокового резервного копирования. В случае указания значения yes, будет включен режим STREAM. В случае указания значения no, режим STREAM будет выключен. Параметр используется только для подмодуля pg_probackup.

no

drop_slot

Выполняет drop физического слота. В случае указания значения yes, drop выполнится. В случае указания значения no, drop не выполнится. Параметр используется только для подмодуля pg_probackup.

no

slot_name

Имя физического слота

my_slot_name

replication_catalog

Абсолютный путь до каталога с репликационными данными. Параметр используется только для подмодуля pg_probackup.

/opt/rubackup/mnt/postgresql_replica

move_on_archive_get

Переносит WAL файлы вместо копирования. В случае указания значения yes, WAL файлы будут перенесены. В случае указания значения no, будут созданы копии WAL файлов. Параметр используется только для подмодуля pg_probackup.

yes

num_threads_for_wal_archiving

Количество потоков для архивации WAL файлов. Параметр используется только для подмодуля pg_probackup.

1

batch_size_for_wal_archiving

Количество обрабатываемых WAL файлов, которые одновременно отправляются в архивный каталог. Параметр используется только для подмодуля pg_probackup.

1

wal_archive_files_size

Максимальный размер архивных WAL файлов, хранимых локально (в Мб). Если установлено значение 0, то лимита нет. При превышении размера архива запускается фоновая очистка. Во время резервного копирования очистка блокируется. Параметр используется только для подмодуля pg_probackup.

0

cleanup_wait_timeout

Максимальное время (в секундах) ожидания освобождения архивного каталога, которое ждет процесс снятия РК. Параметр используется только для подмодуля pg_probackup.

1000

make_archiving_check

Проверка работы архивации до запуска длительного резервного копирования. В случае указания значения yes, будет выполнена проверка команд архивации перед снятием РК. При успешной проверке резервное копирование проходит в штатном режиме. При неуспешной проверке в журнале появляется запись и резервное копирование останавливается. В случае указания значения no, проверка команд архивации перед снятием РК выполнена не будет. Параметр используется только для подмодуля pg_probackup.

yes