Releases: EnterpriseDB/barman
Barman 3.5.0
Version 3.5.0 - 29 March 2023
Features
-
Python 2.7 is no longer supported. The earliest Python version
supported is now 3.6. -
The
barman
,barman-cli
andbarman-cli-cloud
packages for
EL7 now require python 3.6 instead of python 2.7. For other
supported platforms, Barman packages already require python
versions 3.6 or later so packaging is unaffected. -
Support for PostgreSQL 10 will be discontinued in future Barman
releases; 3.5.x is the last version of Barman with support for
PostgreSQL 10. -
Backups and WALs uploaded to Google Cloud Storage can now be
encrypted using a specific KMS key by using the--kms-key-name
option withbarman-cloud-backup
orbarman-cloud-wal-archive
. -
Backups and WALs uploaded to AWS S3 can now be encrypted using a
specific KMS key by using the--sse-kms-key-id
option with
barman-cloud-backup
orbarman-cloud-wal-archive
along with
--encryption=aws:kms
. -
Two new configuration options are provided which make it possible
to limit the rate at which parallel workers are started during
backups withbackup_method = rsync
and recoveries.
parallel_jobs_start_batch_size
can be set to limit the amount of
parallel workers which will be started in a single batch, and
parallel_jobs_start_batch_period
can be set to define the time
in seconds over which a single batch of workers will be started.
These can be overridden using the arguments--jobs-start-batch-size
and--jobs-start-batch-period
with thebarman backup
and
barman recover
commands. -
A new option
--recovery-conf-filename
is added tobarman recover
.
This can be used to change the file to which Barman should write the
PostgreSQL recovery options from the defaultpostgresql.auto.conf
to an alternative location.
Bug fixes
-
Fix a bug which prevented
barman-cloud-backup-show
from
displaying the backup metadata for backups made with
barman backup
and uploaded bybarman-cloud-backup
as a
post-backup hook script. -
Fix a bug where the PostgreSQL connection used to validate backup
compression settings was left open until termination of the
Barman command. -
Fix an issue which caused rsync-concurrent backups to fail when
running for a duration greater thanidle_session_timeout
. -
Fix a bug where the backup name was not saved in the backup
metadata if the--wait
flag was used withbarman backup
.
Acknowledgements
We thank the following who contributed to this release:
- barthisrael
- epolkerman
- hzetters
- mhkarimi1383
- mojtabash78
Barman 3.4.0
Version 3.4.0 - 26 January 2023
Features
-
This is the last release of Barman which will support Python 2 and
new features will henceforth require Python 3.6 or later. -
A new
backup_method
namedsnapshot
is added. This will create
backups by taking snapshots of cloud storage volumes. Currently
only Google Cloud Platform is supported however support for AWS
and Azure will follow in future Barman releases. Note that this
feature requires a minimum Python version of 3.7. Please see the
Barman manual for more information. -
Support for snapshot backups is also added to
barman-cloud-backup
,
with minimal support for restoring a snapshot backup added to
barman-cloud-restore
. -
A new command
barman-cloud-backup-show
is added which displays
backup metadata stored in cloud object storage and is analogous to
barman show-backup
. This is provided so that snapshot metadata
can be easily retrieved at restore time however it is also a
convenient way of inspecting metadata for any backup made with
barman-cloud-backup
.
Bug fixes
-
The instructions for installing Barman from RPMs in the docs are
updated. -
The formatting of NFS requirements in the docs is fixed.
-
Supported PostgreSQL versions are updated in the docs (this is a
documentation fix only - the minimum supported major version is
still 10).
Barman 3.3.0
Version 3.3.0 - 14 December 2022
Features
-
A backup can now be given a name at backup time using the new
--name
option supported by thebarman backup
andbarman-cloud-backup
commands. The backup name can then be used in place of the backup ID
when running commands to interact with backups. Additionally, the
commands to list and show backups have been been updated to include
the backup name in the plain text and JSON output formats. -
Stricter checking of PostgreSQL version to verify that Barman is
running against a supported version of PostgreSQL.
Bug fixes
-
Fix inconsistencies between the barman cloud command docs and the help
output for those commands. -
Use a new PostgreSQL connection when switching WALs on the primary
during the backup of a standby to avoid undefined behaviour such as
SSL error
messages and failed connections. -
Reduce log volume by changing the default log level of stdout for
commands executed in child processes toDEBUG
(with the exception
ofpg_basebackup
which is deliberately logged atINFO
level due
to it being a long-running process where it is frequently useful to
see the output during the execution of the command).
Barman 3.2.0
Version 3.2.0 - 20 October 2022
Features
barman-cloud-backup-delete
now accepts a--batch-size
option
which determines the maximum number of objects deleted in a single
request.- All
barman-cloud-*
commands now accept a--read-timeout
option
which, when used with theaws-s3
cloud provider, determines the
read timeout used by the boto3 library when making requests to S3.
Bug fixes
- Fix the failure of
barman recover
in cases where
backup_compression
is set in the Barman configuration but the
PostgreSQL server is unavailable.
Barman 3.1.0
Version 3.1.0 - 14 September 2022
Features
-
Backups taken with
backup_method = postgres
can now be compressed
using lz4 and zstd compression by settingbackup_compression = lz4
orbackup_compression = zstd
respectively. These options are only
supported with PostgreSQL 15 (beta) or later. -
A new option
backup_compression_workers
is available which sets
the number of threads used for parallel compression. This is
currently only available withbackup_method = postgres
and
backup_compression = zstd
. -
A new option
primary_conninfo
can be set to avoid the need for
backups of standbys to wait for a WAL switch to occur on the primary
when finalizing the backup. Barman will use the connection string
inprimary_conninfo
to perform WAL switches on the primary when
stopping the backup. -
Support for certain Rsync versions patched for CVE-2022-29154 which
require a trailing newline in the--files-from
argument. -
Allow
barman receive-wal
maintenance options (--stop
,--reset
,
--drop-slot
and--create-slot
) to run against inactive servers. -
Add
--port
option tobarman-wal-archive
andbarman-wal-restore
commands so that a custom SSH port can be used without requiring any
SSH configuration. -
Various documentation improvements.
-
Python 3.5 is no longer supported.
Bug fixes
- Ensure PostgreSQL connections are closed cleanly during the
execution ofbarman cron
. barman generate-manifest
now treats pre-existing
backup_manifest files as an error condition.- backup_manifest files are renamed by appending the backup ID
during recovery operations to prevent future backups including
an old backup_manifest file. - Fix epoch timestamps in json output which were not
timezone-aware. - The output of
pg_basebackup
is now written to the Barman
log file while the backup is in progress.
Acknowledgements
We thank the following who contributed to this release:
- barthisrael
- elhananjair
- kraynopp
- lucianobotti
- mxey
Barman 3.0.1
Version 3.0.1 - 27 June 2022
Bug fixes
- Fix package signing issue in PyPI (same sources as 3.0.0)
Barman 3.0.0
Version 3.0.0 - 23 June 2022
Features
-
BREAKING CHANGE: PostgreSQL versions 9.6 and earlier are no longer
supported. If you are using one of these versions you will need to
use an earlier version of Barman. -
BREAKING CHANGE: The default backup mode for Rsync backups is now
concurrent rather than exclusive. Exclusive backups have been
deprecated since PostgreSQL 9.6 and have been removed in PostgreSQL
15. If you are running Barman against PostgreSQL versions earlier
than 15 and want to use exclusive backups you will now need to set
exclusive_backup
inbackup_options
. -
BREAKING CHANGE: The backup metadata stored in the
backup.info
file
for each backup has an extra field. This means that earlier versions
of Barman will not work in the presence of any backups taken with
3.0.0. Additionally, users of pg-backup-api will need to upgrade it
to version 0.2.0 so that pg-backup-api can work with the updated
metadata. -
Backups taken with
backup_method = postgres
can now be compressed
by pg_basebackup by setting thebackup_compression
config option.
Additional options are provided to control the compression level,
the backup format and whether the pg_basebackup client or the
PostgreSQL server applies the compression. NOTE: Recovery of these
backups requires Barman to stage the compressed files on the recovery
server in a location specified by therecovery_staging_path
option. -
Add support for PostgreSQL 15. Exclusive backups are not supported
by PostgreSQL 15 therefore Barman configurations for PostgreSQL 15
servers are not allowed to specifyexclusive_backup
in
backup_options
. -
Various documentation improvements.
-
Use custom_compression_magic, if set, when identifying compressed
WAL files. This allows Barman to correctly identify uncompressed
WALs (such as*.partial
files in thestreaming
directory) and
return them instead of attempting to decompress them.
Bug fixes
-
Fix an ordering bug which caused Barman to log the message
"Backup failed issuing start backup command." while handling a
failure in the stop backup command. -
Fix a bug which prevented recovery using
--target-tli
when
timelines greater than 9 were present, due to hexadecimal values
from WAL segment names being parsed as base 10 integers. -
Fix an import error which occurs when using barman cloud with
certain python2 installations due to issues with the enum34
dependency. -
Fix a bug where Barman would not read more than three bytes from
a compressed WAL when attempting to identify the magic bytes. This
means that any custom compressed WALs using magic longer than three
bytes are now decompressed correctly. -
Fix a bug which caused the
--immediate-checkpoint
flag to be
ignored during backups withbackup_method = rsync
.
Barman 2.19
Version 2.19 - 9 March 2022
Features
-
Change
barman diagnose
output date format to ISO8601. -
Add Google Cloud Storage (GCS) support to barman cloud.
-
Support
current
andlatest
recovery targets for the--target-tli
option ofbarman recover
. -
Add documentation for installation on SLES.
Bug fixes
-
barman-wal-archive --test
now returns a non-zero exit code when
an error occurs. -
Fix
barman-cloud-check-wal-archive
behaviour when-t
option is
used so that it exits after connectivity test. -
barman recover
now continues when--no-get-wal
is used and
"get-wal"
is not set inrecovery_options
. -
Fix
barman show-servers --format=json ${server}
output for
inactive server. -
Check for presence of
barman_home
in configuration file. -
Passive barman servers will no longer store two copies of the
tablespace data when syncing backups taken with
backup_method = postgres
.
Acknowledgements
We thank richyen for his contributions to this release.
Barman 2.18
Version 2.18 - 21 January 2021
Features
- Add snappy compression algorithm support in barman cloud (requires the optional python-snappy dependency).
- Allow Azure client concurrency parameters to be set when uploading WALs with
barman-cloud-wal-archive
. - Add
--tags
option in barman cloud so that backup files and archived WALs can be tagged in cloud storage (aws and azure). - Update the barman cloud exit status codes so that there is a dedicated code (2) for connectivity errors.
- Add the commands
barman verify-backup
andbarman generate-manifest
to check if a backup is valid. - Add support for Azure Managed Identity auth in barman cloud which can be enabled with the
--credential
option.
Bug fixes
- Change
barman-cloud-check-wal-archive
behavior when bucket does not exist. - Ensure
list-files
output is always sorted regardless of the underlying filesystem. - Man pages for
barman-cloud-backup-keep
,barman-cloud-backup-delete
andbarman-cloud-check-wal-archive
added to Python packaging.
Acknowledgements
Thanks to the following for their contributions:
- richyen
- stratakis
Barman 2.17
Version 2.17 - 1 December 2021
Bug fixes
- Resolves a performance regression introduced in version 2.14 which
increased copy times forbarman backup
orbarman recover
commands
when using the--jobs
flag. - Ignore rsync partial transfer errors for
sender
processes so that
such errors do not cause the backup to fail (thanks to barthisrael).