Barman 1.6.0 released

2 minute read

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.

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