September 26, 2024: PostgreSQL 17 Released!

Barman 1.4.0 released

Posted on 2015-01-26 by 2ndQuadrant Italia

26 January 2015: 2ndQuadrant is proud to announce the release of version 1.4.0 of Barman, Backup and Recovery Manager for PostgreSQL.

This major release features file-level incremental backup, a kind of full periodic backup which saves only data changes from the latest full backup available in the catalogue for a specific PostgreSQL server. Depending on the context and the database workload, the data deduplication ratio might easily reach 50-70% per full backup, leading to significant reductions in both backup time and disk space.

PostgreSQL 9.4 users will transparently benefit from the integration of Barman with "pg_stat_archiver" view. In particular, any continuous archiving problem will be immediately spotted by the "barman check" command directly on the source.

Management of WAL files has been improved, by optimising the calculation of WAL statistics, tying archiving with backup and by distinctively managing WAL trashing for exclusive and concurrent backups.

Relevant efforts in unit testing have made the code more robust. Minor bugs have also been fixed.

Many thanks for funding towards the development of this release go to BIJ12 (www.bij12.nl), Jobrapido (www.jobrapido.com), Navionics (www.navionics.com), Sovon Vogelonderzoek Nederland (www.sovon.nl), and Subito.it (www.subito.it).

For a complete list of changes, see the "Release Notes" section below.

Incremental backup

Incremental backup is a kind of full periodic backup which saves only data changes from the latest full backup available in the catalogue for a specific PostgreSQL server. The main goals of incremental backup in Barman are:

  • Reduce the time taken for the full backup process
  • Reduce the disk space occupied by several periodic backups (data deduplication)

This feature heavily relies on "rysnc" and hard links, which must be therefore supported by both the underlying operating system and the file system where the backup data resides.

The main concept is that two periodic base backups will share those files that have not changed, leading to relevant savings in disk usage. This is particularly true of VLDB contexts and, more in general, of those databases containing a high percentage of read-only historical tables. Barman implements incremental backup through a global/server option, called "reuse_backup", that transparently manages the "barman backup" command. Behaviour can also be changed at runtime through the "--reuse-backup" runtime option for the "barman backup" command.

Links

Release notes

  • Incremental base backup implementation through the "reuse_backup" global/server option. Possible values are "off" (disabled, default), "copy" (preventing unmodified files from being transferred) and "link" (allowing for deduplication through hard links).
  • Store and show deduplication effects when using "reuse_backup=link".
  • Added transparent support of pg_stat_archiver (PostgreSQL 9.4) in "check", "show-server" and "status" commands.
  • Improved administration by invoking WAL maintenance at the end of a successful backup.
  • Changed the way unused WAL files are trashed, by differentiating between concurrent and exclusive backup cases.
  • Improved performance of WAL statistics calculation.
  • Treat a missing pg_ident.conf as a WARNING rather than an error.
  • Refactored output layer by removing remaining "yield" calls.
  • Check that rsync is in the system path.
  • Include history files in WAL management.
  • Improved robustness through more unit tests.
  • Fixed bug #55: Ignore fsync EINVAL errors on directories.
  • Fixed bug #58: retention policies delete.

Download

About

Barman (Backup and Recovery Manager) is an open source administration tool for disaster recovery of PostgreSQL servers written in Python. It allows your organisation to perform remote backups of multiple servers in business critical environments and help DBAs during the recovery phase. Barman’s most requested features include backup catalogues, incremental backup, retention policies, remote backup and recovery, archiving and compression of WAL files and backups. Barman is distributed under GNU GPL 3.