3.4. Использование pg_probackup3 в удалённом режиме #
pg_probackup3 поддерживает работу в удалённом режиме. Данные для резервного копирования можно получать от сервера Postgres Pro удалённо по встроенному репликационному протоколу, а резервные копии можно сохранять в хранилище S3 или на сервер SSH по протоколу SFTP.
В зависимости от типа операции можно выбрать следующие сценарии:
Чтобы подключиться к серверу Postgres Pro для создания резервной копии, используйте стандартные параметры подключения:
--pghost
,--pgport
,--pgdatabase
и--pguser
.Для сохранения, восстановления и проверки резервных копий в хранилище S3 укажите параметры S3. За подробностями обратитесь к Раздел 2.12.
Для работы с резервными копиями на сервере SSH по протоколу SFTP укажите параметры SSH. Обратитесь к Раздел 2.11 за подробностями.
Таким образом и каталог резервных копий, и экземпляр Postgres Pro, для которого делается резервная копия, могут располагаться на удалённых серверах.
Типичная схема его использования выглядит так:
В системе резервного копирования настройте pg_probackup3, как описывается в подразделе Установка и настройка. Для команд init, add-instance, backup и set-config необходимо задать параметры подключения, указывающие на сервер с экземпляром Postgres Pro.
Если вы хотите в удалённом режиме использовать доставку WAL в режиме ARCHIVE, настройте непрерывное архивирование WAL с сервера баз данных, как описано в подразделе Настройка непрерывного архивирования WAL. Для этого в команде archive-push требуется задать параметры SSH, указывающие на сервер, где находится каталог резервных копий.
Примечание
Для работы в режиме непрерывного архивирования файлов WAL исполняемые файлы pg_probackup3 должны находиться на сервере Postgres Pro. Вызов pg_probackup3 с командами archive-push
и archive-get
осуществляется сервером Postgres Pro в соответствии с параметрами archive_command
и restore_command
в его конфигурации.
Например, чтобы создать полную архивную локальную копию кластера Postgres Pro, работающего в удалённой системе с адресом 192.168.0.2
, подключившись к серверу через порт 2302
с именем пользователя postgres
, выполните:
pg_probackup3 backup -Bкаталог_копий
--instance=имя_экземпляра
-b FULL --pguser=postgres --pghost=192.168.0.2 --pgport=2302
Чтобы создать резервную копию на сервере SSH с адресом 10.0.3.77
для пользователя ubuntu
, выполните:
pg_probackup3 backup -Bкаталог_копий
--instance=имя_экземпляра
-b FULL --pguser=postgres --pghost=192.168.0.2 --pgport=2302 --remote-host=10.0.3.77 --remote-user=ubuntu
Скрипт для создания резервной копии в хранилище S3:
export PG_PROBACKUP_S3_PORT=9000 export PG_PROBACKUP_S3_ACCESS_KEY=admin export PG_PROBACKUP_S3_SECRET_ACCESS_KEY=password export PG_PROBACKUP_S3_REGION=us-west-2 export PG_PROBACKUP_S3_HOST=10.0.3.77 export PG_PROBACKUP_S3_BUCKET_NAME=test pg_probackup3 backup -Bкаталог_копий
--instance=имя_экземпляра
-b FULL --pguser=postgres --pghost=192.168.0.2 --pgport=2302 --s3
Чтобы настроить непрерывное архивирование WAL на сервере SSH с адресом 10.0.3.77
, выполните следующую команду:
pg_probackup3 archive-push -Bкаталог_копий
--instance=имя_экземпляра
--wal-file-name=%f --compress-algorithm=zstd --remote-host=10.0.3.77 --remote-user=ubuntu
Чтобы настроить непрерывное архивирование WAL в хранилище S3, выполните следующую команду:
pg_probackup3 archive-push -Bкаталог_копий
--instance=имя_экземпляра
--compress-algorithm=zstd --wal-file-name=%f --s3 --config-file=s3.config
При этом параметры подключения должны быть сохранены в файле s3.config
в каталоге данных Postgres Pro.