1.1. Основные функциональные возможности #
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 создаёт каталог резервных копий. В этом каталоге сохраняются все файлы резервных копий с дополнительной метаинформацией, а также архивы WAL, необходимые для восстановления на момент времени. Список резервных копий в каталоге, а также список всех линий времени WAL и соответствующая метаинформация выводятся в текстовом формате или в формате JSON.
Вы можете хранить резервные копии разных экземпляров в отдельных подкаталогах одного каталога копий. pg_probackup3 позволяет хранить резервные копии как на локальных дисках, так и в сетевых файловых системах. Поддерживаются следующие протоколы сетевого хранения:
NFS версий 3 и 4
S3 на базе объектного хранилища MinIO, Amazon S3 и VK Cloud. Данные резервного копирования передаются в S3 и обратно без сохранения в промежуточных хранилищах, что устраняет необходимость в большом временном хранилище.
WebDav
SAMBA
FTP/SFTP
Политика хранения. Управление архивами WAL и резервными копиями в соответствии с установленными правилами их хранения. Вы можете ограничить хранение резервных копий по времени или их количеству, а также переопределить время жизни (TTL) для избранных копий. Потерявшие актуальность резервные копии могут объединяться или удаляться.
Многопоточность. Выполнение внутренних процессов команд
backup
,restore
,merge
,delete
иvalidate
возможно в несколько параллельных потоков.Удалённый режим работы. Выполнение резервного копирования экземпляра Postgres Pro, находящегося в удалённой системе, и удалённое восстановление.
Архивирование внешних каталогов. Резервное копирование файлов и каталогов, расположенных вне каталога данных Postgres Pro (
PGDATA
), например скриптов, файлов конфигурации, журналов или SQL-дампов.Частичное восстановление:
Восстановление только избранных баз данных
Восстановление на определённый момент времени (PITR, point-in-time recovery)