29 February 2016: 2ndQuadrant is proud to announce the release of version 1.6.0 of Barman, Backup and Recovery Manager for PostgreSQL.
This major release introduces WAL streaming support, improving disaster recovery capabilities of PostgreSQL backup solutions based on Barman, by reducing Recovery Point Objective consistently to nearly 0. Currently, Barman still requires standard WAL archiving based on PostgreSQL's 'archive_command'. This limitation will be removed once Barman supports replication slots (available from PostgreSQL 9.4).
Barman 1.6.0 introduces also support to pigz compression, as well as Python-native gzip and bzip2 compression algorithms.
Minor bugs have also been fixed.
For a complete list of changes, see the "Release Notes" section below.
Support for streaming replication connection through the 'streaming_conninfo' server option
Support for the 'streaming_archiver' option that allows Barman to receive WAL files through PostgreSQL's native streaming protocol. When set to 'on', it relies on 'pg_receivexlog' to receive WAL data, reducing Recovery Point Objective. Currently, WAL streaming is an additional feature (standard log archiving is still required)
Implement the 'receive-wal' command that, when 'streaming_archiver' is on, wraps 'pg_receivexlog' for WAL streaming. Add '--stop' option to stop receiving WAL files via streaming protocol. Add '--reset' option to reset the streaming status and restart from the current xlog in Postgres.
Automatic management (startup and stop) of 'receive-wal' command via 'cron' command
Support for the 'path_prefix' configuration option
Introduction of the 'archiver' option (currently fixed to 'on') which enables continuous WAL archiving for a specific server, through log shipping via PostgreSQL's 'archive_command'
Support for 'streaming_wals_directory' and 'errors_directory' options
Management of WAL duplicates in 'archive-wal' command and integration with 'check' command
Verify if 'pg_receivexlog' is running in 'check' command when 'streaming_archiver' is enabled
Verify if failed backups are present in 'check' command
Accept compressed WAL files in incoming directory
Add support for the pigz compressor (thanks to Stefano Zacchiroli)
Implement pygzip and pybzip2 compressors (based on an initial idea of Christoph Moench-Tegeder)
Creation of an implicit restore point at the end of a backup
Current size of the PostgreSQL data files in 'barman status'
Permit 'archive_mode=always' for PostgreSQL 9.5 servers (thanks to Christoph Moench-Tegeder)
Complete refactoring of the code responsible for connecting to PostgreSQL
Improve messaging of cron command regarding sub-processes
Native support for Python >= 3.3
Changes of behaviour:
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.