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

В ходе инсталляции пакета модуля в системе создается конфигурационный файл /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
#
#
# ----- General -----
#
dbname postgres
username rubackup_backuper
password 12345
host localhost
port 5432
postgresql_admin postgres

#Enable interaction with centralized secret repositories
use_secret_storage no
# Переключаться или нет на полный бэкап если
невозможно выполнить инкрементальный/дифф
#auto_switch_full yes
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
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
#Enable interaction with centralized secret repositories
use_secret_storage no
#keep wal files chain even for full backup
keep_wal_chain no
# Переключаться или нет на полный бэкап если невозможно выполнить инкрементальный/дифф
auto_switch_full yes
#
# ----- Wal Archiving -----
#
archive_catalog /opt/rubackup/mnt/postgresql_archives
# Использовать 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
#
# ----- Wal Summarizer -----
#
# Попытки проверки, что wal summarizer успел внести все изменения в summary файлы
wal_sum_max_retries 20
#
# ----- Stream -----
#
# Директория для сохранения репликационных данных
replication_catalog /opt/rubackup/mnt/postgresql_replica
# Путь до утилиты pg_receivewal (физическая репликация), начиная с 10 версии
pg_receivewal /usr/lib/postgresql/10/bin/pg_receivewal
# Выполнить drop физического слота с именем slot_name после создания РК
drop_slot no
# Использовать физический слот, заданный в системе, иначе создать с указанным именем
slot_name my_slot_name
#
# ----- Patroni -----
# 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
patroni_https no
patroni_ca /etc/ssl/ca.crt
#
# ----- Page -----
#
pg_waldump /usr/lib/postgresql/12/bin/pg_waldump
num_threads_for_wal_processing 8
#
# ----- pg_probackup -----
#
# Возможные значения для 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 -----
#
# Возможные значения для s3_interface: [minio | vk]
s3_interface minio
#
# ----- Custom PostgreSQL build -----
#
# 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

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

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

dbname

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

По умолчанию

postgres

username

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

По умолчанию

rubackup_backuper

password

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

host

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

Используются
  • IP-адрес локального хоста.

  • Доменное имя локального хоста.

  • Путь до каталога локальных сокетов. Указывается значение параметра unix_socket_directories из конфигурационного файла /etc/postgresql/12/main/postgresql.conf (по умолчанию /var/run/postgresql).

    Также при использовании сокета для подключения важно учитывать права доступа к сокету, которые задаются параметрами unix_socket_group и unix_socket_permissions в конфигурационном файле /etc/postgresql/12/main/postgresql.conf

По умолчанию

localhost

port

Порт для соединения с СУБД. Параметр необязательный

По умолчанию

5432

use_secret_storage

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

Возможные значения

yes, no

По умолчанию

no

auto_switch_full

Переключение на Полный тип РК, в случае ошибки:

  • при проверке дифференциальной или инкрементальной цепочки;

  • при выполнении инкрементального резервного копирования.

    Возможные значения

    yes, no

    По умолчанию

    yes

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

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

Возможные значения

yes, no

По умолчанию

yes

При значении:

  • yes архивные WAL будут удалены из каталога archive_catalog после выполнения резервного копирования;

  • yes архивные WAL не будут удалены из каталога archive_catalog после выполнения резервного копирования.

postgresql_admin

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

По умолчанию

postgres

execute_only_on_leader

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

Возможные значения

yes, no

По умолчанию

no

При значении yes резервное копирование выполняется только на лидере кластера Patroni. Модуль возвращает отрицательный ответ серверу на запрос о наличии ресурса, если хост, на котором производится проверка, не является лидером кластера Patroni

patroni_node_type_for_backup

Параметр patroni_node_type_for_backup заменяет в версии модуля 2.1 параметр execute_only_on_leader

Возможные значения

leader, sync, async

По умолчанию

leader

При значении:

  • leader ресурс будет доступен только при условии, что узел, на котором установлен модуль с таким значением, имеет роль leader в кластере Patroni;

  • sync ресурс будет доступен только при условии, что узел, на котором установлен модуль с таким значением, имеет роль sync stanby в кластере Patroni;

  • async ресурс будет доступен только при условии, что узел, на котором установлен модуль с таким значением, имеет роль replica в кластере Patroni.

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

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

Возможные значения

pause, promote, shutdown

По умолчанию

pause

При значении:

  • pause восстановление будет приостановлено;

  • promote восстановление будет продолжено;

  • shutdown восстановление не производится.

restore_target

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

Возможные значения

immediate, latest

По умолчанию

immediate

При значении:

  • immediate будет восстановлена срочная РК;

  • latest будет восстановлена последняя РК.

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

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

Возможные значения

minio, vk

По умолчанию

minio

При значении:

  • minio будет использоваться объектное хранилище MinIO, совместимое с облачным хранилищем S3;

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

pg_receivewal

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

По умолчанию

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

drop_slot

Выполняет сброс физического слота

Возможные значения

yes, no

По умолчанию

no

При значении:

  • yes сброс выполнится;

  • no сброс не выполнится.

slot_name

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

По умолчанию

my_slot_name

replication_catalog

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

По умолчанию

/opt/rubackup/mnt/postgresql_replica

move_on_archive_get

Переносит WAL файлы вместо копирования

Возможные значения

yes, no

По умолчанию

yes

При значении:

  • yes WAL файлы будут перенесены.

  • no будут созданы копии WAL файлов.

num_threads_for_wal_archiving

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

По умолчанию

1

batch_size_for_wal_archiving

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

По умолчанию

1

wal_archive_files_size

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

По умолчанию

0

cleanup_wait_timeout

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

По умолчанию

1000

make_archiving_check

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

Возможные значения

yes, no

По умолчанию

yes

При значении:

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

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

patroni_https

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

Возможные значения

yes, no

По умолчанию

no

При значении:

  • yes используется режим HTTPS;

  • no режим HTTPS не используется.

patroni_ca

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

sslmode

Режим SSL. Определяет уровень защиты соединения. Используется для настройки SSL-соединения c СУБД на узле с модулем PostgreSQL (см. Настройка SSL-соединения)

Возможные значения

disable, allow, prefer, require, verify-ca, verify-full

По умолчанию

prefer

sslrootcert

Путь к сертификату Центра сертификации. Используется для настройки SSL-соединения c СУБД на узле с модулем PostgreSQL (см. Настройка SSL-соединения)

sslcert

Путь к сертификату для модуля PostgreSQL. Используется для настройки SSL-соединения c СУБД на узле с модулем PostgreSQL (см. Настройка SSL-соединения)

sslkey

Путь к закрытому ключу для модуля PostgreSQL. Используется для настройки SSL-соединения c СУБД на узле с модулем PostgreSQL (см. Настройка SSL-соединения)