Резервное копирование и восстановление PostgreSQL
Модуль PostgreSQL Universal предназначен для резервного копирования и восстановления СУБД PostgreSQL версий 11, 12, 13, 14, 15, 16 в режиме полного резервного копирования и резервного копирования архивных WAL. Возможно выбрать один из подмодулей PostgreSQL Universal при настройке правил и стратегий резервного копирования:
-
postgresql — подмодуль, использующий низкоуровневый API СУБД PostgreSQL для выполнения резервного копирования;
-
pg_probackup — подмодуль, использующий утилиту pg_probackup для выполнения резервного копирования СУБД Postgres Pro (поддерживаются версии PostgreSQL c 11 и выше);
-
superb — подмодуль, предназначенный для резервного копирования и восстановления СУБД PostgreSQL в режиме непрерывного резервного копирования и резервного копирования архивных WAL.
Модуль PostgreSQL Universal обеспечивает поддержку дедупликации данных в ходе резервного копирования RuBackup.
Принцип резервного копирования СУБД PostgreSQL с использованием RuBackup состоит в периодическом создании полных резервных копий экземпляра СУБД и резервному копированию архивированных файлов WAL по определенному расписанию.
В СРК RuBackup поддерживается создание базовых резервных копий (полных резервных копий (full)), а также создание инкрементальных резервных копий (incremental, создаются на основе базовой резервной копии). Дифференциальное резервное копирование данных СУБД PostgreSQL не предусмотрено.
После успешного выполнения резервного копирования архивные файлы WAL
могут быть автоматически удалены клиентом RuBackup из каталога с
архивными WAL-файлами (параметр archive_catalog
в конфигурационном файле
модуля), если включен параметр auto_remove_wal
в конфигурационном файле
модуля.
Невозможно запустить одновременно две операции резервного копирования или восстановления для модуля PostgreSQL на одном хосте. Это предопределено тем, что выполнение резервного копирования СУБД производится по особой методике, не предусматривающей корректную возможность параллельных задач резервного копирования и восстановления для одной и той же СУБД. В том случае, если параллельная задача все-таки будет запущена, то она завершится с ошибкой.
Модуль PostgreSQL Universal поддерживает безопасное хранение аутентификационной информации для подключения к СУБД PostgreSQL с помощью интеграции с внешним хранилищем секретов HashiCorp Vault 1.16.3.
1. Ограничения
При поступлении задачи на создание инкрементальной резервной копии в СРК RuBackup производится анализ WAL-файлов. Если анализ показывает, что в текущем WAL-файле изменилась линия времени по сравнению с последним WAL-файлом из предыдущей итерации создания резервной копии, то вместо инкрементальной копии создается полная резервная копия. Это актуально для подмодулей postgresql и superb.
Настоящее руководство является описанием функционала и не является точной инструкцией по восстановлению СУБД в любой ситуации, которая может произойти! |
При выполнении операции восстановления с развертыванием существующий кластер баз данных СУБД PostgreSQL будет уничтожен, а на его месте будет восстановлен кластер баз данных из резервной копии. Перед операцией восстановления рекомендуется принудительно остановить работу всех клиентов с СУБД и выполнить базовое резервное копирование!
Рекомендуется отключить возможность централизованного восстановления СУБД на клиенте и выполнять восстановление из резервной копии только со стороны клиента под контролем администратора СУБД.
Централизованное восстановление и восстановление с развертыванием рекомендуется предварительно выполнять на резервном хосте (виртуальной машине) для проверки корректности восстановления СУБД.
Модуль PostgreSQL Universal поддерживает работу с хранилищем секретов HashiCorp Vault 1.16.3 на платформах Astra Linux 1.7, Ubuntu 20.04, RHEL 8.