pg_probackup
Утилита для управления резервным копированием и восстановлением кластеров баз данных Postgres Pro. Pg_probackup предназначен для регулярного создания резервных копий экземпляра Postgres Pro, позволяющих восстанавливать сервер в случае необходимости.
Утилита для управления резервным копированием и восстановлением кластеров баз данных Postgres Pro. pg_probackup
предназначен для регулярного создания резервных копий экземпляра Postgres Pro, позволяющих восстанавливать сервер в случае необходимости. Поддерживает Postgres Pro версии 9.5 и новее.
По сравнению с другими средствами резервного копирования pg_probackup
имеет следующие преимущества, полезные для реализации различных стратегий резервного копирования и работы с базами данных большого объёма:
-
Выбор между полным резервным копированием и инкрементальным, на уровне страниц, позволяющим ускорить процесс копирования и восстановления
-
Реализация единой стратегии резервного копирования для кластеров Postgres Pro с несколькими серверами
-
Автоматический контроль целостности данных и проверка резервных копий без восстановления данных кластера
-
Управление резервными копиями в соответствии с политикой их сохранения
-
Выполнение резервного копирования, восстановления и проверки в параллельных потоках
-
Хранение копируемых данных в сжатом состоянии для экономии дискового пространства
-
Снятие резервной копии с ведомого сервера с целью избежать дополнительной нагрузки на ведущий сервер
-
Расширенные параметры ведения журнала
-
Дополнительные команды для упрощения архивации журнала WAL
Для управления резервными копиями pg_probackup
создаёт каталог резервных копий. В этом каталоге сохраняются все файлы резервных копий с дополнительной метаинформацией, а также архивы WAL, необходимые для восстановления на момент времени. Вы можете хранить резервные копии разных экземпляров в отдельных подкаталогах одного каталога копий.
Используя pg_probackup
, вы можете выполнять полное или инкрементальное резервное копирование:
-
Полные резервные копии содержат все файлы данных, необходимые для восстановления кластера баз данных с нуля.
-
Инкрементальные резервные копии сохраняют только те данные, которые изменились со времени последнего копирования. Это позволяет уменьшить размер резервной копии и ускорить операции копирования данных.
pg_probackup
поддерживает следующие режимы инкрементального копирования:-
Режим
PAGE
. В этом режимеpg_probackup
сканирует все файлы WAL в архиве с момента создания предыдущей полной или инкрементальной копии. Новая резервная копия будет содержать только страницы, фигурирующие в записях WAL. При этом необходимо, чтобы в архиве WAL сохранялись все файлы WAL, записанные после предыдущей копии. Если размер этих файлов сравним с общим размером файлов базы данных, ускорение будет менее значительным, но размер копии будет всё же меньше. -
Режим
PTRACK
. В этом режиме Postgres Pro отслеживает изменения страниц на лету. Чтобы он работал, не требуется производить непрерывное архивирование WAL. При каждом изменении страницы отношения она помечается в специальной картеPTRACK
этого отношения. Так как для одной страницы в слоеPTRACK
требуется всего один бит, такие карты довольно малы. Это отслеживание привносит небольшие издержки в работу сервера, но значительно ускоряет инкрементальное резервное копирование.
-
Вне зависимости от выбранного типа резервного копирования pg_probackup
поддерживает следующие стратегии архивирования:
-
Автономные резервные копии включают все файлы, необходимые для восстановления согласованного состояния кластера на момент создания копии. Даже если непрерывное архивирование не производится, в эту копию включаются только необходимые сегменты WAL.
-
Архивные резервные копии основаны на непрерывном архивировании. Такие копии позволяют восстановить кластер на произвольный момент времени после момента создания копии (производить восстановление на момент времени).
Репозиторий: https://github.com/postgrespro/pg_probackup
Расширения Postgres