Barman 1.5.0 released

Posted on 2015-09-28 by 2ndQuadrant Italia

2ndQuadrant is proud to announce the release of version 1.5.0 of Barman, Backup and Recovery Manager for PostgreSQL.

This major release features the get-wal command, which turns Barman into a WAL mine from which you can extract any transaction log file you need. Barman can now be easily integrated with any PostgreSQL standby server as a fallback method for WAL synchronisation.

Another important new feature is retry hook scripts that can be executed before or after a backup command or the archive of a WAL file. Differently from a standard hook script, already available in Barman, a retry hook script is executed indefinitely until it succeeds.

With version 1.5.0, Barman enhances its robustness, by adding checks on "wal_level" settings, by forbidding the deletion of a running backup, by requesting a successful "check" before initiating a backup, etc.

Barman now checks for conflicting paths, making sure that the same directory cannot be shared by more than a target (i.e. base backups, WAL archive, incoming directory, etc.), even across different servers within the same installation.

In terms of user experience, the "active" option grants users to temporarily disable a server in Barman, for operational purposes, while still accessing its catalogue.

Minor bugs have also been fixed.

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

Features in detail

Barman get-wal : No more standby servers that fall out of synchronisation with the master server, thanks to Barman's "get-wal" command. Design complex HA and DR architectures of PostgreSQL databases, knowing that you can now rely on an 'infinite' source of WAL files for any of your servers. Look at the "barman-wal-restore" script for an idea on how you can integrate "get-wal" with your PostgreSQL standby servers.

Retry hook scripts : You can now extend Barman by plugging your custom scripts before and after taking a backup operation or archiving a WAL file, knowing that Barman will repeat them until they succeed. You can now build your own pipeline around Barman, for example by storing a WAL in the cloud once it reaches Barman.

Links

Release notes

  • Add support for the "get-wal" command which allows users to fetch any WAL file from the archive of a specific server
  • Add support for retry hook scripts, a special kind of hook scripts that Barman tries to run until they succeed
  • Add "active" configuration option for a server to temporarily disable the server by setting it to "False"
  • Add "barman_lock_directory" global option to change the location of lock files (by default: 'barman_home')
  • Execute the full suite of checks before starting a backup, and skip it in case one or more checks fail
  • Forbid to delete a running backup
  • Analyse include directives of a PostgreSQL server during "backup" and "recover" operations
  • Add check for conflicting paths in the configuration of Barman, both intra (by temporarily disabling a server) and inter-server (by refusing any command, to any server).
  • Add check for "wal_level"
  • Add "barman-wal-restore" script to be used as "restore_command" on a standby server, in conjunction with "barman get-wal"
  • Implement a standard and consistent policy for error management
  • Improved cache management of backups
  • Improved management of configuration in unit tests
  • Tutorial and man page sources have been converted to Markdown format
  • Add code documentation through Sphinx
  • Complete refactor of the code responsible for managing the "backup" and the "recover" commands
  • Changed internal directory structure of a backup
  • Introduce "copy_method" option (currently fixed to "rsync")
  • Bug fixes:
    • Manage options without '=' in PostgreSQL configuration files
    • Preserve Timeline history files (Fixes: #70)
    • Workaround for rsync on SUSE Linux (Closes: #13 and #26)
    • Disables dangerous settings in postgresql.auto.conf (Closes: #68)
    • Fixed error in WAL rate calculation

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.