November 1, 2016: Crunchy Data is proud to announce pgBackRest 1.09, Reliable PostgreSQL Backup & Restore.
Since 1.0 we have improved scalability, added backup from a standby, selective restore, and support for the 9.6 non-exclusive backup method. All the major new features since 1.0 are detailed below.
Converted Perl threads to child processes to improve compatibility and greatly increase scalability. 3TB/hour backup speeds can be achieved with 32 cores and 10GbE, including compression and checksums.
Performing backups on a standby host greatly reduces CPU and IO load on the master host. pgBackRest copies the majority of the files from the standby and only a few from the master, while still producing a backup exactly as if it were performed entirely on the master.
Selected databases can be restored from a cluster backup to save space when not all the databases are required. WAL replay during restore takes place for all databases so some space will be used, but generally far less than if the unneeded databases were restored completely. After recovery completes the unrestored databases will not be accessible but can be dropped in the usual way.
Support for non-exclusive backups in PostgreSQL 9.6.
Exclude directories during backup that are cleaned, recreated, or zeroed by PostgreSQL at startup. These include pgsql_tmp and pg_stat_tmp. The postgresql.auto.conf.tmp file is now excluded in addition to files that were already excluded: backup_label.old, postmaster.opts, postmaster.pid, recovery.conf, recovery.done.
Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup.
Enhanced text output of info command to include timestamps, sizes, and the reference list for all backups.
Added check command to validate that pgBackRest is configured correctly for archiving and backups.
More flexible configuration for databases. Master and standby can both be configured on the backup server and pgBackRest will automatically determine which is the master. This means no configuration changes for backup are required after failing over from a master to standby when a separate backup server is used.
pgBackRest aims to be a simple, reliable backup and restore system that can seamlessly scale up to the largest databases and workloads. Instead of relying on traditional backup tools like tar and rsync, pgBackRest implements all backup features internally and uses a custom protocol for communicating with remote systems. Removing reliance on tar and rsync allows for better solutions to database-specific backup challenges. The custom remote protocol allows for more flexibility and limits the types of connections that are required to perform a backup which increases security.
Crunchy Data supports the ongoing and active development of pgBackRest as an entirely open source project, released under the BSD-compatible MIT license.