Barman 1.6.0 released

Posted on 2016-02-29 by 2ndQuadrant Italia

29 February 2016: 2ndQuadrant is proud to announce the release of version 1.6.0 of Barman, Backup and Recovery Manager for PostgreSQL.

Major release

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.

Bug fixes

Minor bugs have also been fixed.

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

Links

Release notes

  • 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:

    • Stop trashing WAL files during 'archive-wal' (commit:e3a1d16)
  • Bug fixes:
    • Atomic WAL file archiving (#9 and #12)
    • Propagate "-c" option to any Barman subprocess (#19)
    • Fix management of backup ID during backup deletion (#22)
    • Improve 'archive-wal' robustness and log messages (#24)
    • Improve error handling in case of missing parameters

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.