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.navionics.com), Sovon Vogelonderzoek
Nederland (www.sovon.nl), and Subito.it
For a complete list of changes, see the "Release Notes" section below.
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
- Reduce the time taken for the full backup process
- Reduce the disk space occupied by several periodic backups (data
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"
- 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
- 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.
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.
- Download PostgreSQL
- View Press Release
- Visit PostgreSQL