Дата выпуска: 2026-04-29
Этот выпуск основан на pg_probackup3 3.2.1, в нём добавлены новые возможности, улучшена производительность и исправлены некоторые ошибки. Важные изменения перечислены ниже.
Новые возможности:
Добавлена поддержка частичного восстановления для Postgres Pro Standard 17 и выше.
Добавлен параметр --waldir для команд restore и catchup, а также параметр --wal-archive-dir для команды backup для указания отдельного каталога WAL-файлов.
Добавлен параметр --no-validate-wal для пропуска проверки WAL при восстановлении.
Добавлен параметр --wal-tree для команд set-config и add-instance для хранения WAL-файлов в подкаталогах, что оптимизирует использование дискового пространства и предотвращает перегрузку файловой системы.
Добавлены параметры точки восстановления для команды fuse.
Добавлена поддержка параметра --exclude-path в команде backup для исключения указанных путей из резервного копирования.
Улучшено поведение параметра --batch-size. Теперь, если он не задан явно, он принимает значение, равное количеству потоков (--threads).
Добавлена переменная окружения PG_PROBACKUP_MAX_THREADS для ограничения количества рабочих потоков.
Добавлено предупреждение с понятным сообщением, когда используемая версия Postgres Pro не поддерживается.
Исправления ошибок:
Исправлена проблема с max_wal_senders в режиме PRO. Ранее при установке для -j значения 1 в режиме STREAM поток записи получал ноль рабочих потоков, и резервное копирование завершалось ошибкой. Теперь при нехватке max_wal_senders выводится информативное сообщение с рекомендацией увеличить это значение в файле конфигурации postgresql.conf.
Устранена блокировка сборщика мусора CFS (GC) во время длительного создания резервной копии. Теперь GC может работать параллельно с резервным копированием.
Исправлено выполнение команды backup в режиме DIRECT: теперь она пропускает временные и нежурналируемые таблицы.
Исправлен конфликт совместно используемых параметров --retention-redundancy и --retention-window. Ранее резервные копии, которые должны были сохраняться в соответствии с политикой избыточности, могли быть удалены по политике окна хранения. Теперь --retention-redundancy имеет приоритет.
Удалён параметр --threads из команды retention как неприменимый.
Исправлена проблема с S3, когда ошибки соединения CURL (SSL, таймауты, сертификаты) игнорировались, что позже приводило к сбою с малоинформативным сообщением. Теперь такие ошибки обнаруживаются немедленно с указанием причины.
Исправлена совместимость с S3-бакетами, у которых включено версионирование.
Улучшена совместимость с S3: добавлена поддержка URL в стиле virtual-host и удалена проверка прав доступа к бакету, которая не поддерживалась некоторыми провайдерами и могла вызывать ошибки подключения (Amazon AWS S3, SBER Cloud и другие).
Исправлена обработка пустых ответов от библиотеки libpq.
Исправлена проблема с передачей данных через SFTP. Неполная запись файла теперь корректно обнаруживается и завершает операцию с ошибкой вместо молчаливого продолжения.
Исправлен некорректный код возврата при ошибке подключения к Postgres Pro.
Исправлено разрешение IP-адреса по имени узла в утилите удалённого восстановления.
Исправлено некорректное отображение значения сжатия в выводе команды show.
Исправлено некорректное отображение размера WAL после объединения (merge).
Исправлена обработка пути к WAL-файлу в командах archive-push и archive-get. Теперь поддерживаются абсолютные пути, а относительные пути обрабатываются корректно.
Добавлено имя файла в сообщения об ошибках при открытии файла.
Добавлена проверка: операции, изменяющие каталог резервных копий, теперь завершаются ошибкой, если каталог принадлежит pg_probackup 2.X.
Прочие улучшения:
Реализована поддержка резервного копирования CFS-файлов в режимах PRO и DIRECT.
В режиме DIRECT реализовано чтение нескольких страниц за один вызов.
Устранено дублирование WAL-файлов в файлах резервных копий для режима DIRECT с ARCHIVE, что уменьшает размер резервной копии.
Добавлен пропуск проверки WAL на архитектуре s390x с соответствующим предупреждением.
Добавлена запись времени выполнения команды archive-push в журнал после завершения копирования файла.
Добавлено сохранение состояния FUSE-смонтированной резервной копии между перезапусками.
Ограничено количество файлов в сообщениях об ошибках для предотвращения переполнения журнала.
Изменено отображение сообщений Postgres Pro уровня NOTICE: теперь они отображаются как INFO.
Улучшено описание параметра --compress-level в выводе справки (help): добавлены допустимые диапазоны значений для каждого алгоритма сжатия.
Улучшено сообщение об ошибке при обнаружении повреждённой страницы в режиме DIRECT: путь к файлу теперь отображается относительно PGDATA.
Добавлена информация об объёме WAL-файлов (сжатых и несжатых) в метаданные резервной копии.