Конфигурационный файл rb_module_postgresql.conf

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

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

dbname

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

postgres

username

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

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

Полный путь до утилиты pg_ctl. Параметр используется при восстановлении с развертыванием для остановки и запуска СУБД. Параметр не может быть установлен одновременно с параметром postgresql_service_name.

pg_binary

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

pg_log

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

postgresql_service_name

Имя systemd службы СУБД. Параметр используется при восстановлении с развертыванием для остановки и запуска СУБД через systemctl. Параметр не может быть установлен одновременно с параметром pg_ctl.

postgresql

version_override

Принудительное задание версии СУБД для случаев, когда СУБД, основанная на PostgreSQL, возвращает некорректную или нестандартную версию. Указывается мажорная и минорная версия через точку (.)

12.23

pg_waldump

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

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

num_threads_for_wal_processing

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

8

auto_remove_wal

yes

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

no

Архивные WAL не удаляются.

yes

postgresql_admin

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

postgres

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, совместимое с облачным хранилищем S3.

vk

Будет использоваться хранилище vk.

Параметр используется только для подмодуля pg_probackup.

minio

pg_receivewal

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

/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

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

/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

Проверка работы архивации до запуска длительного резервного копирования.

Только для подмодуля pg_probackup.

yes

Проверка команд архивации перед снятием РК. При успешной проверке резервное копирование проходит в штатном режиме. При неуспешной проверке в журнале появляется запись и резервное копирование останавливается.

no

Проверка команд архивации перед снятием РК выполнена не будет.

yes

patroni_https

Позволяет использовать режим HTTPS при работе с Patroni. При указании значения no отключает использование HTTPS. При указании yes режим HTTPS может использоваться.

no

patroni_ca

Позволяет указать путь к корневому сертификату, если требуется проверка сертификата сервера Patroni

sslmode

Использование SSL при установлении соединений клиент-сервер. См. https://www.postgresql.org/docs/current/libpq-ssl.html

sslrootcert

Путь до корневого сертификата

sslcert

Путь до сертификата

sslkey

Путь до приватного ключа

Пример 1. Пример конфигурационного файла
# 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

# Использовать режим HTTPS при работе с Patroni
patroni_https no

# Путь к корневому сертификату если требуется проверка сертификата сервера Patroni (необязательное)
patroni_ca /etc/ssl/ca.crt