Barman 1.4.0 released
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
- Website: http://www.pgbarman.org/
- Download: https://sourceforge.net/projects/pgbarman/files/
- Documentation: http://www.pgbarman.org/documentation/
- Man page, section 1: http://docs.pgbarman.org/barman.1.html
- Man page, section 5: http://docs.pgbarman.org/barman.5.html
- Support: http://www.pgbarman.org/support/
- pgespresso extension: https://github.com/2ndquadrant-it/pgespresso
Release notes
- Incremental base backup implementation through the
reuse_backup
global/server option. Possible values areoff
(disabled, default),copy
(preventing unmodified files from being transferred) andlink
(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
andstatus
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
- Release Notes: https://sourceforge.net/projects/pgbarman/files/1.4.0/
- Sources: https://sourceforge.net/projects/pgbarman/files/1.4.0/barman-1.4.0.tar.gz/download
- RPMs for RHEL/CentOS 5: https://sourceforge.net/projects/pgbarman/files/1.4.0/barman-1.4.0-1.rhel5.noarch.rpm/download (dependencies: https://sourceforge.net/projects/pgbarman/files/rhel5-deps/)
- RPMs for RHEL/CentOS 6: https://sourceforge.net/projects/pgbarman/files/1.4.0/barman-1.4.0-1.rhel6.noarch.rpm/download (dependencies: https://sourceforge.net/projects/pgbarman/files/rhel6-deps/)
- PyPI: http://pypi.python.org/pypi/barman/1.4.0
- pgespresso on PostgreSQL Extension framework (PGXN): http://pgxn.org/dist/pgespresso/
- pgespresso RPM/Debian packages: https://sourceforge.net/projects/pgbarman/files/pgespresso/
- Online documentation: http://www.pgbarman.org/documentation
- PDF documentation: https://sourceforge.net/projects/pgbarman/files/1.4.0/barman-tutorial.en.pdf/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.