Содержание
pg_probackup3 — это решение для управления локальным и удалённым резервным копированием и восстановлением кластеров баз данных Postgres Pro. Оно предназначено для регулярного создания резервных копий экземпляра Postgres Pro, позволяющих восстанавливать сервер в случае необходимости.
По сравнению с другими средствами резервного копирования pg_probackup3 имеет следующие преимущества, полезные для реализации различных стратегий резервного копирования и работы с базами данных большого объёма:
Поддержка S3 для хранения данных в частных облачных хранилищах на базе объектного хранилища MinIO, Amazon S3 и VK Cloud: обеспечивается в Postgres Pro Enterprise. Данные резервного копирования передаются в S3 и обратно без сохранения в промежуточных хранилищах, что устраняет необходимость в большом временном хранилище.
Поддержка ленточных хранилищ: pg_probackup3 поддерживает работу с системами резервного копирования на ленточные хранилища.
Поддержка NFS версий 4 и 5: pg_probackup3 позволяет хранить резервные копии в сетевой файловой системе.
Инкрементальное копирование: выбирая один из трёх режимов инкрементального копирования, вы можете реализовать стратегию резервного копирования, соответствующую вашему профилю транзакционной нагрузки. Это позволяет сэкономить место на диске и создавать копии быстрее, чем при полном копировании. Восстановление инкрементальных копий также осуществляется быстрее, чем воспроизведение файлов WAL.
Удалённый режим работы: выполнение резервного копирования экземпляра Postgres Pro, находящегося в удалённой системе, и удалённое восстановление.
Архивирование внешних каталогов: резервное копирование файлов и каталогов, расположенных вне каталога данных Postgres Pro (
PGDATA
), например скриптов, файлов конфигурации, журналов или SQL-дампов.Каталогизация резервных копий: получение списка резервных копий и соответствующей метаинформации в виде простого текста или JSON.
Каталогизация архивов WAL: получение списка всех линий времени в WAL и соответствующей метаинформации в виде простого текста или JSON.
Интеграция с другими приложениями благодаря API, входящему в библиотеку libprobackup.
Для управления резервными копиями pg_probackup3 создаёт каталог резервных копий. В этом каталоге сохраняются все файлы резервных копий с дополнительной метаинформацией, а также архивы WAL, необходимые для восстановления на момент времени. Вы можете хранить резервные копии разных экземпляров в отдельных подкаталогах одного каталога копий.
Используя pg_probackup3, вы можете выполнять полное или инкрементальное резервное копирование:
Полные резервные копии содержат все файлы данных, необходимые для восстановления кластера баз данных с нуля.
Инкрементальные копии создаются на уровне страниц и включают только те данные, которые изменились со времени последнего копирования. Это позволяет сэкономить место на диске и создавать копии быстрее, чем при полном копировании. Восстановление инкрементальных копий также осуществляется быстрее, чем воспроизведение файлов WAL. pg_probackup3 поддерживает следующие режимы инкрементального копирования:
Разностное копирование. В режиме
DELTA
pg_probackup3 считывает все файлы данных в каталоге данных и копирует только те страницы, которые изменились со времени предыдущего копирования. В этом режиме объём ввода/вывода может равняться объёму при полном резервном копировании.Копирование изменений. В режиме
PTRACK
Postgres Pro отслеживает изменения страниц на лету. Чтобы он работал, не требуется производить непрерывное архивирование. При каждом изменении страницы отношения она помечается в специальной картеPTRACK
. Это отслеживание привносит небольшие издержки в работу сервера, но значительно ускоряет инкрементальное резервное копирование.
pg_probackup3 может производить копирование только работающего экземпляра, а для обеспечения целостности таких копий требуется копировать WAL. Поэтому вне зависимости от выбранного режима копирования (FULL или DELTA), чтобы pg_probackup3 мог получить полноценную копию, нужно выбрать один из следующих режимов доставки WAL:
STREAM. Такие резервные копии включают все файлы, необходимые для восстановления целостного состояния кластера на момент создания копии. Вне зависимости от того, осуществляется ли непрерывное архивирование, необходимые для восстановления сегменты WAL считываются по протоколу потоковой репликации во время резервного копирования и включаются в состав резервной копии. Поэтому такие резервные копии называются автономными или самодостаточными.
ARCHIVE. В таком режиме целостность копий обеспечивается посредством непрерывного архивирования. Это режим доставки WAL по умолчанию.
В pg_probackup3 доступны следующие режимы источников данных для резервного копирования: