24th September 2020: PostgreSQL 13 Released!

pg_probackup 2.3.0 has been released

Posted on 2020-04-30 by Postgres Professional
Related Open Source

pg_probackup is a utility to manage backup and recovery of PostgreSQL database cluster. It is designed to perform periodic full and incremental page-level backups of the PostgreSQL instance that enable you to restore the server in case of a failure.

Notable changes since pg_probackup 2.2.7

New features:

  • The --status option can be used with the delete command to remove all backups with the specified status. Requested by Stepan Santalov. Contributed by Victor Spirin.
  • The --no-sync flag can be used with backup, restore, and archive-push commands to disable syncing of copied files to the underlying storage.
  • The --note option allows to add a text note of size up to 1KB to the backup metadata when running backup and set-backup commands. Contributed by Victor Spirin.
  • Multi-timeline incremental chains are now supported. The timeline number of an incremental backup can differ from the parent timeline number, but only if it is possible to determine (using WAL archive) that the child timeline descends from the parent timeline.
  • You can now set PostgreSQL parameters primary_slot_name and primary_conninfo during restore using the -S | --primary-slot-name and --primary-conninfo options, respectively. Requested by Yuri Kurenkov.
  • Major revamp of the archive-push command:
  • Multi-threading support is added via the -j | --threads option.
  • Batch processing is added via the --batch-size option.
  • In the remote mode, checksums are now computed on a remote agent.
  • Major revamp of the archive-get command:
  • Multi-threading support is added via the -j | --threads option.
  • WAL prefetching is added via the --batch-size option. The default directory with prefetched WAL segments is PGDATA/pg_wal/pbk_prefetch. You can change this location using the --prefetch-dir option.
  • Partial WAL files produced by pg_receivewal program are now recognized and used if the corresponding full WAL segment is missing. Reported by Artem Dolgih.

Bugfixes:

  • Enabled logging info file should not break archiving anymore. Reported by Artem Dolgih.
  • The add-instance command no longer implicitly sets the --remote-proto and --remote-host parameters in the instance configuration when adding a remote PostgreSQL instance into the backup catalog.
  • When taking a backup in the ARCHIVE mode, pg_probackup now waits for the segment containing the START LSN, not the previous segment. Reported by Mikhail Kulagin.
  • The expire-time attribute is now inherited during merge.
  • Setting session parameters via the PGOPTIONS environment variable during backup now does not cause corruption of backup meta information.

Improvements:

  • The speed of restore from incremental chain is greatly improved. In some cases, by an order of magnitude. Reported and tested by Alex Ignatov.
  • The speed of merge, especially merge of several backups at a time, is greatly improved. Reported by Rostislav Pochevalov.
  • The speed of remote backup in PAGE and PTRACK modes is greatly improved.
  • You can now delete a backup even if there is no space left on device. Reported by Stepan Santalov.
  • Hidden files are now ignored during backup.
  • Now it is explicitly forbidden to restore a backup using an older pg_probackup version. Contributed by Dmitriy Kuzmin.

Links & Credits

pg_probackup is an open source tool developed by Postgres Professional under Postgres license. Main contributors are Artur Zakirov, Grigory Smolkin, Aleksey Kondratov and Anastasia Lubennikova. pg_probackup can be downloaded at https://github.com/postgrespro/pg_probackup.