A.1. pg_probackup 3.3.0 #

Release date: 2026-04-29

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

  • New features:

    • Added partial restore support for Postgres Pro Standard 17 and higher.

    • Added the --waldir option for the restore and catchup commands, and the --wal-archive-dir option for the backup command to specify a separate directory for WAL files.

    • Added the --no-validate-wal option to skip WAL validation during restore.

    • Added the --wal-tree option for the set-config and add-instance commands to store WAL files in subdirectories, optimizing disk space and preventing file system overload.

    • Added recovery target options for the fuse command.

    • Added support for the --exclude-path option in the backup command to exclude specified paths from backup.

    • Improved --batch-size behavior. This option now defaults to the number of threads (--threads) when not explicitly specified.

    • Added the PG_PROBACKUP_MAX_THREADS environment variable to limit the number of worker threads.

    • Added a warning with a clear message when the Postgres Pro version in use is not supported.

  • Bug fixes:

    • Fixed an issue with max_wal_senders in the PRO mode. Previously, when setting -j to 1 in the STREAM mode, the write thread received 0 worker threads and backup failed. Now, when there are insufficient max_wal_senders, an informative message is displayed recommending increasing this value in the postgresql.conf configuration file.

    • Resolved CFS garbage collector (GC) blocking during long backups. GC can now run in parallel with backup.

    • Made the backup command in the DIRECT mode skip temporary and unlogged tables.

    • Fixed a conflict between the --retention-redundancy and --retention-window options used together. Previously, backups that should have been kept according to the redundancy policy could be deleted by the retention window policy. Now, --retention-redundancy takes precedence.

    • Removed the --threads option from the retention command due to inapplicability.

    • Fixed an S3 issue when CURL connection errors (SSL, timeouts, certificates) were ignored, causing the failure to occur later with a non-informative message. Such errors are now detected immediately with the cause specified.

    • Fixed compatibility with S3 buckets that have versioning enabled.

    • Improved S3 compatibility by adding support for virtual-host-style URL and removing the bucket access permission check that was not supported by some providers and could cause connection errors (Amazon AWS S3, SBER Cloud, and others).

    • Fixed handling of empty responses from the libpq library.

    • Fixed an issue with data transfer via SFTP. Incomplete file writes are now correctly detected and terminate the operation with an error instead of silently continuing.

    • Fixed incorrect return code when a Postgres Pro connection error occurs.

    • Fixed hostname resolution for IP addresses in the remote restore utility.

    • Fixed incorrect compression value display in the show command output.

    • Fixed incorrect WAL size display after merge.

    • Fixed WAL file path handling in the archive-push and archive-get commands. Absolute paths are now supported, and relative paths are processed correctly.

    • Made error messages include file names when a file open error occurs.

    • Made operations that modify the backup catalog fail with an error if the catalog belongs to pg_probackup 2.X.

  • Other improvements:

    • Implemented incremental backup of CFS files in the PRO and DIRECT modes.

    • Implemented reading of multiple pages per call in the DIRECT mode.

    • Eliminated WAL file duplication in backup files for the DIRECT mode with ARCHIVE, reducing backup size.

    • Made WAL validation skip on s390x architecture with an appropriate warning.

    • Made the archive-push command log its execution time upon file copy completion.

    • Made the state of a FUSE-mounted backup persist across restarts.

    • Made error messages display a limited number of files to avoid log overflow.

    • Made Postgres Pro NOTICE level messages display as INFO.

    • Improved the --compress-level option description in the help output by adding valid value ranges for each compression algorithm.

    • Improved the error message when a corrupted page is detected in the DIRECT mode. The file path is now displayed relative to PGDATA.

    • Added information about WAL file sizes (compressed and uncompressed) to the backup metadata.