Подготовка СУБД 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 ) в фаерволе узла клиента. Пользователь, для которого
требуется доступ к СУБД, должен существовать и иметь необходимые полномочия.
|