Postgres Professional выпускает Postgres Pro Backup Enterprise (ProBackup) 3.3.0 — очередное обновление инструмента резервного копирования и восстановления. В новой версии повышены производительность и контроль над потреблением ресурсов, добавлены опции тонкой настройки хранения WAL-файлов, проведён ряд улучшений в части работы с S3-хранилищами. 


В отличие от прочих решений для резервного копирования, в том числе PostgreSQL backup, Postgres ProBackup разрабатывался с учётом требований Enterprise клиентов и поэтому в одном продукте сочетаются базовый функционал резервного копирования и несколько ключевых возможностей необходимых в Enterprise: резервное копирование через API для интеграции с внешними системами управления, хранение бэкапов в формате единого файла, работа без SSH-доступа и без прав к PGDATA (в том числе от непривилегированных пользователей), поддержка всех версий PostgreSQL 15+.

Кроме того в ProBackup реализовано монтирование резервных копий через FUSE для мгновенного доступа к данным, удалённое восстановление и restore отдельных баз данных, версионная независимость, три режима копирования (BASE, PRO, DIRECT), объединение цепочек инкрементальных бэкапов и оптимизация под ленточные хранилища. Все эти функции делают ProBackup универсальным решением для любых инфраструктурных сценариев — от облачных платформ до enterprise-кластеров с жёсткими требованиями к безопасности и отказоустойчивости.

Новые опции управления WAL

Два новых параметра закрывают давний запрос на размещение WAL отдельно от основных данных резервной копии:

  • --waldir (команды restore, catchup) — задаёт отдельный каталог для WAL-файлов при восстановлении и синхронизации реплики;

  • --wal-archive-dir (команда backup) — указывает альтернативное расположение WAL-архива;

  • --wal-tree (команды set-config, add-instance) — включает иерархическое хранение WAL в поддиректориях, что упрощает навигацию в больших архивах.

В метаданные резервной копии теперь включается информация об объёме WAL-файлов, как в сжатом, так и в несжатом виде.

Развитие режима DIRECT и поддержка CFS

Режим DIRECT получил три значимых улучшения:

  • реализована инкрементальная резервная копия CFS-файлов в режимах PRO и DIRECT, это сокращает время и объём бэкапов баз с CFS-хранилищем;

  • реализовано чтение нескольких страниц за один системный вызов, что ускоряет операцию резервного копирования;

  • в конфигурации DIRECT + archive WAL-файлы больше не дублируются внутри файла резервной копии, это напрямую сокращает его итоговый размер;

  • устранена блокировка сборщика мусора CFS (CFS GC) во время длительного создания резервной копии, теперь GC может работать параллельно с бэкапом.

Новые опции производительности

Расширен контроль над потреблением ресурсов и поведением утилиты:

  • переменная окружения PG_PROBACKUP_MAX_THREADS ограничивает максимальное число рабочих потоков, что удобно при работе в ресурсоограниченных средах;

  • параметр batch-size теперь автоматически принимает значение --threads, если не задан явно, а значит, уменьшаеться количество ручных настроек при конфигурировании;

  • новая опция --exclude-path для команды backup позволяет исключить отдельные пути из резервной копии;

  • команда fuse получила поддержку опций восстановления (recovery options), что расширяет сценарии монтирования бэкапа напрямую из хранилища;

  • добавлена опция --no-validate-wal — позволяет пропустить проверку WAL при восстановлении в случаях, когда она избыточна.

Прочие улучшения

Исправили ошибки при работе с S3 и SFTP, режимами PRO и DIRECT, политики хранения. 

А также внедрили следующие улучшения:

  • состояние FUSE-смонтированного бэкапа сохраняется между перезапусками;

  • время выполнения команды archive-push отображается в логе по завершении копирования файла;

  • улучшено описание опции --compress-level в справке: указаны допустимые диапазоны для каждого алгоритма сжатия;

  • сообщения PostgreSQL уровня NOTICE теперь отображаются как info;

  • добавлено предупреждение, если используемая версия PostgreSQL не поддерживается;

  • в сообщениях об ошибках выводится ограниченное число файлов, чтобы избежать переполнения лога;

  • удалена неприменимая опция --threads из команды retention;

  • добавлена сборка для Astra Linux 1.8.

ProBackup 3.3.0 уже доступен для обновления:

https://postgrespro.ru/docs/pg_probackup3/3.3/index