Подготовка СУБД PostgreSQL
Управление резервным копированием выполняется командами с сервера клиенту. Взаимодействие с СУБД выполняется модулем PostgreSQL Universal на узле клиента (локально).
Резервное копирование СУБД может быть выполнено, если
-
обеспечена сетевая доступность узла СУБД с сервера и сервера — с клиента;
-
в настройках СУБД разрешено локальное подключение к СУБД пользователя, указанного в настройках модуля PostgreSQL Universal;
-
в настройках СУБД настроен режим архивирования.
1. Создание и настройка прав пользователя СУБД
Если для доступа к СУБД используется учетная запись не администратора СУБД, то для создания базовой резервной копии пользователь должен обладать правами на вызов функций начала и окончания резервного копирования экземпляра СУБД.
-
Создайте в СУБД пользователя
rubackup_backuper.create user rubackup_backuper password '12345'; (1) alter role rubackup_backuper with login;1 Вместо 12345укажите желаемый пароль. -
Настройте права пользователя в СУБД для доступа.
Пример 1. Предоставление прав на выполнение функций в PostgreSQL версии 15 и вышеgrant execute on function pg_backup_start(text,bool) to rubackup_backuper; (1) grant execute on function pg_backup_stop(bool) to rubackup_backuper; (1) grant execute on function pg_switch_wal() to rubackup_backuper; grant pg_read_all_settings to rubackup_backuper;1 См. официальную документацию PostgreSQL. Пример 2. Предоставление прав на выполнение функций в PostgreSQL версии 14 и нижеgrant execute on function pg_start_backup(text,bool,bool) to rubackup_backuper; (1) grant execute on function pg_stop_backup(bool,bool) to rubackup_backuper; (1) grant execute on function pg_switch_wal() to rubackup_backuper; grant pg_read_all_settings to rubackup_backuper;1 См. официальную документацию PostgreSQL. В конфигурационном файле укажите имя созданного пользователя (
username) и его пароль (password).
2. Доступ пользователя к СУБД
Правила доступа к СУБД задаются в файле pg_hba.conf. Файл устанавливает
метод подключения (local — локально, host — по TCP/IP), ограничивает
доступ базой данных или задачей (replication), предоставляет доступ
пользователю с заданных адресов указанным методом аутентификации.
Добавьте в файл pg_hba.conf строки, указывающие на право пользователя
rubackup_backuper на локальный (localhost, 127.0.0.1) доступ по TCP/IP
к СУБД для резервного копирования и репликации. Закомментируйте строки,
предоставляющие доступ неограниченному кругу лиц (host all all).
host backupdb rubackup_backuper 127.0.0.1/32 md5
host replication rubackup_backuper 127.0.0.1/32 md5
pg_hba.conf# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
# host all all 127.0.0.1/32 md5
# IPv6 local connections
# host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege
local replication all md5
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
host backupdb rubackup_backuper 127.0.0.1/32 md5
host replication rubackup_backuper 127.0.0.1/32 md5
Если вы хотите подключаться из локальной сети (192.168.1.*)
непосредственно к СУБД, добавьте в pg_hba.conf строку:
host any any 192.168.1.1/32 md5
Для доступа к СУБД необходимо открыть порт 5432 (или иной заданный
в postgresql.conf) в фаерволе узла клиента. Пользователь, для которого
требуется доступ к СУБД, должен существовать и иметь необходимые полномочия.
|