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.

  • Архивные резервные копии основаны на непрерывном архивировании. Такие копии позволяют восстановить кластер на произвольный момент времени после момента создания копии (производить восстановление на момент времени).

 

Документация: pg_probackup
Репозиторий: https://github.com/postgrespro/pg_probackup

Расширения Postgres