Barman 1.5.0 released

3 minute read

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 fallback method for WAL synchronisation.

Another important new feature are 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.

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.