A.2. pg_probackup 3.4.0 #

Дата выпуска: 2026-06-18

Этот выпуск основан на pg_probackup 3.3.0, в нём добавлены новые возможности, улучшена производительность и исправлены некоторые ошибки. Важные изменения перечислены ниже.

  • Новые возможности:

    • Реализовано удалённое инкрементальное восстановление с помощью команды send-backup с параметром -I/--incremental-mode. За подробностями обратитесь к разделу Удалённое восстановление.

    • Значение по умолчанию для размера буфера (параметр --buffer-size) изменено на 128KB, что улучшает производительность при работе с SFTP и удалёнными хранилищами.

  • Критические исправления:

    • Исправлена поддержка TDE при резервном копировании на удалённый сервер. Теперь проверка страниц корректно пропускается для зашифрованных данных.

    • Устранена проблема с обнаружением переполнения буфера, возникавшая при создании резервной копии.

    • Исправлено некорректное завершение потоков при ошибке в режиме DIRECT.

    • Исправлено снижение производительности при создании резервных копий PTRACK в режимах PRO и DIRECT.

    • Исправлено отслеживание позиции слотов репликации для своевременного удаления заархивированных WAL-файлов.

    • Исправлена некорректная обработка алгоритма сжатия zstd при архивировании WAL с помощью добавления пользовательского фильтра zstd iostreams.

    • Исправлена ошибка «Attempt to write more than uint32_t::max» (Попытка записать больше, чем uint32_t::max), возникавшая при использовании параметра --with-file-map с большим объёмом данных в файлах сопоставления (mapping files).

    • Исправлено восстановление с исключёнными табличными пространствами. Каталог pg_tblspc больше не восстанавливается, если был исключён, что также устраняет ошибки проверки WAL.

    • Добавлена поддержка Shardman на s390x, включая следующие исправления и улучшения:

      • Добавлена полная поддержка резервного копирования, инкрементального восстановления и синхронизации экземпляров с помощью команды catchup для всех редакций Postgres Pro.

      • Реализована проверка WAL для редакции Shardman.

      • Исправлены критические проблемы с обработкой порядка байтов в контрольных суммах CRC, сравнении PGDATA с файлами *.cfm и проверке WAL.

  • Сетевое взаимодействие:

    • Улучшена интеграция с S3:

      • Удалены избыточные предупреждения при проверке существования объектов в S3.

      • Уменьшена детализация записи в журнал для рутинных операций с S3.

      • Улучшена обработка ошибок подключения и тайм-аутов.

    • Исправлена проблема, из-за которой SFTP-сеанс мог оставаться открытым при ошибках записи файла. Теперь сеанс корректно закрывается по завершении операции.

    • Улучшены сообщения об ошибках SFTP для более качественной диагностики проблем с удалёнными операциями.

  • CFS:

    • Добавлена поддержка алгоритма сжатия pglz для расширения совместимости с различными конфигурациями Postgres Pro. Теперь pg_probackup3 корректно обрабатывает CFS-файлы в форматах lz4, zstd, zlib и pglz.

    • Исправлено применение сжатия при резервном копировании CFS. Теперь утилита определяет алгоритм сжатия для каждого табличного пространства из его файлов *.cfm, независимо от алгоритма сжатия резервной копии. Различные алгоритмы сжатия теперь могут сосуществовать в разных табличных пространствах.

    • Исправлена логика сравнения PGDATA для табличных пространств CFS — теперь файлы *.cfm корректно обрабатываются при сравнении страниц. Это обеспечивает правильную проверку при синхронизации (команда catchup) и инкрементальном восстановлении.

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

    • Исправлена обработка ошибок при чтении конфигурации экземпляра — теперь ошибки записываются в журнал вместе с описанием.

    • Улучшено сообщение об ошибке, возникавшее при попытке размонтирования файловой системы FUSE с работающим экземпляром Postgres Pro.

    • Добавлена запись в журнал текущих параметров политики хранения во время выполнения команды retention.

    • Исправлено поведение статуса резервной копии CORRUPT. Теперь он не устанавливается при прерывании проверки резервной копии.

    • Добавлена защита от бесконечных циклов, возникающих при обнаружении повреждения резервной копии.

    • Доработана команда archive-get для корректной обработки случаев, когда zstd или любой другой алгоритм сжатия недоступен.

    • Исправлено восстановление с параметром --recovery-target-timeline с заданным значением latest — теперь оно корректно работает на репликах после повышения.

    • Удалены избыточные предупреждения о токенe отмены (cancellation token), возникавшие при использовании параметра --with-file-map в режиме DIRECT. Теперь объект метаданных инициализируется только при необходимости.

A.2.1. Миграция на версию 3.4.0 #

Важно

Начиная с pg_probackup 3.3.0, библиотеки libpgprobackup.so и libpb3_encoder.so содержатся в одном пакете libpb3-encoder, в отличие от двух отдельных пакетов — libpgprobackup3 и libpb3-encoder — в более ранних версиях.

Если пакет libpgprobackup3 был установлен для использования режима PRO в версии 3.2.X или более ранней, удалите его перед обновлением.

Для перехода на pg_probackup 3.4.0 с более ранних версий обратитесь к разделу Обновление pg_probackup3.

A.2. pg_probackup 3.4.0 #

Release date: 2026-06-18

This release is based on pg_probackup 3.3.0 and provides new features, optimizations and bug fixes. Major changes are as follows:

  • New features:

    • Implemented remote incremental restore via the send-backup command with the -I/--incremental-mode option. For more details, refer to the Remote Restore section.

    • Changed the default buffer size (the --buffer-size option) to 128KB, improving performance when working with SFTP and remote storage.

  • Critical bug fixes:

    • Fixed TDE support for backup to a remote server. Page validation is now correctly skipped for encrypted data.

    • Fixed a buffer overflow detection issue that occurred during backup creation.

    • Fixed incorrect thread termination on error in DIRECT mode.

    • Fixed performance degradation during PTRACK backup creation in PRO and DIRECT modes.

    • Fixed position tracking of replication slots to ensure timely removal of archived WAL files.

    • Fixed incorrect handling of the zstd compression algorithm during WAL archiving by adding a custom zstd iostreams filter.

    • Fixed the Attempt to write more than uint32_t::max error which occurred when using the --with-file-map option with large amounts of data in mapping files.

    • Fixed recovery with excluded tablespaces. The pg_tblspc directory is no longer restored when excluded, which also resolves WAL validation errors.

    • Added support for Shardman on s390x, including the following fixes and improvements:

      • Added full support for backup, incremental restore, and instance synchronization via the catchup command for all Postgres Pro editions.

      • Implemented WAL validation for the Shardman edition.

      • Fixed critical byte order issues in CRC checksums, PGDATA comparison with *.cfm files, and WAL validation.

  • Network:

    • Improved S3 integration:

      • Removed redundant warnings when checking object existence in S3.

      • Reduced log verbosity for routine S3 operations.

      • Improved error handling for connection failures and timeouts.

    • Fixed an issue where an SFTP session could remain open on file write errors. The session is now properly closed at the end of the operation.

    • Improved SFTP error messages for better diagnostics of remote operation issues.

  • CFS:

    • Added support for the pglz compression algorithm to extend compatibility with various Postgres Pro configurations. pg_probackup3 now correctly handles CFS files in lz4, zstd, zlib, and pglz formats.

    • Fixed compression application for CFS backups. The utility now derives the compression algorithm for each tablespace from its *.cfm files, independent of the backup compression algorithm. Different compression algorithms can now coexist across tablespaces.

    • Fixed PGDATA comparison logic for CFS tablespaces — *.cfm files are now handled correctly when comparing pages, which ensures a proper validation check during synchronization (catchup) and incremental restore.

  • Other improvements:

    • Fixed error handling when reading instance configuration — errors are now logged along with descriptions.

    • Improved the error message that occurred when attempting to unmount a FUSE filesystem with a running Postgres Pro instance.

    • Added logging of current retention policy parameters during the retention operation.

    • Fixed the CORRUPT backup status behavior. It is no longer set when backup validation is interrupted.

    • Added protection against infinite loops triggered by backup corruption detection.

    • Refined the archive-get command to correctly handle cases where zstd or any other compression algorithm is unavailable.

    • Fixed recovery with --recovery-target-timeline set to latest — it now works correctly on replicas after promotion.

    • Removed redundant cancellation token warnings that occurred when using --with-file-map in DIRECT mode. The metadata object is now initialized only when necessary.

A.2.1. Migration to Version 3.4.0 #

Important

Starting from pg_probackup 3.3.0, the libpgprobackup.so and libpb3_encoder.so libraries are contained in a single libpb3-encoder package instead of two separate ones — libpgprobackup3 and libpb3-encoder — in lower versions.

If the libpgprobackup3 package was installed to enable PRO mode in version 3.2.X or lower, remove it before upgrading.

To migrate to pg_probackup 3.4.0 from lower versions, refer to the Upgrading pg_probackup3 section.

FAQ