barman

Barman - Backup and Recovery Manager for PostgreSQL

GPL-3.0 License

Stars
2K
Committers
69

Bot releases are visible (Hide)

barman - Barman 3.10.1 Latest Release

Published by gcalacoci 4 months ago

Version 3.10.1 - 12 June 2024

Bug fixes

  • Make argcomplete optional to avoid installation issues on some
    platforms.
  • Load barman.auto.conf only when the file exists.
  • Emit a warning when the cfg_changes.queue file is malformed.
  • Correct in documentation the postgresql version where
    pg_checkpoint is available.
  • Add --no-partial option to barman-cloud-wal-restore.
barman - release/3.10.0

Published by gcalacoci 9 months ago

Version 3.10.0 - 24 January 2024

Features

  • Limit the average bandwidth used by barman-cloud-backup when backing
    up to either AWS S3 or Azure Blob Storage according to the value set by
    a new CLI option --max-bandwidth.
  • Add the new configuration option lock_directory_cleanup
    That enables cron to automatically clean up the barman_lock_directory
    from unused lock files.
  • Add support for a new type of configuration called model.
    The model acts as a set of overrides for configuration options
    for a given Barman server.
  • Add a new barman command barman config-update that allows the creation
    and the update of configurations using JSON

Bug fixes:

  • Fix a bug that caused --min-chunk-size to be ignored when using
    barman-cloud-backup as hook script in Barman.
barman - Barman 3.9.0

Published by didiermichel about 1 year ago

Version 3.9.0 - 3 October 2023

Features

  • Allow barman switch-wal --force to be run against PG>=14 if the
    user has the pg_checkpoint role (thanks to toydarian for this patch).

  • Log the current check at info level when a check timeout occurs.

  • The minimum size of an upload chunk when using barman-cloud-backup
    with either S3 or Azure Blob Storage can now be specified using the
    --min-chunk-size option.

  • backup_compression = none is supported when using pg_basebackup.

  • For PostgreSQL 15 and later: the allowed backup_compression_level
    values for zstd and lz4 have been updated to match those allowed by
    pg_basebackup.

  • For PostgreSQL versions earlier than 15: backup_compression_level = 0
    can now be used with backup_compression = gzip.

Bug fixes:

  • Fix barman recover on platforms where Multiprocessing uses spawn by
    default when starting new processes.
barman - Barman 3.3.0

Published by mikewallace1979 about 1 year ago

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 the barman backup and barman-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 to DEBUG (with the exception
    of pg_basebackup which is deliberately logged at INFO 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 - Barman 3.8.0

Published by didiermichel about 1 year ago

Version 3.8.0 - 31 August 2023

Features

  • Clarify package installation. barman is packaged with default python version
    for each operating system.

  • The minimum-redundancy option is added to barman-cloud-backup-delete.
    It allows to set the minimum number of backups that should always be available.

  • Add a new primary_checkpoint_timeout configuration option. Allows define
    the amount of seconds that Barman will wait at the end of a backup if no
    new WAL files are produced, before forcing a checkpoint on the primary server.

Bug fixes:

  • Fix race condition in barman retention policies application. Backup
    deletions will now raise a warning if another deletion is in progress
    for the requested backup.

  • Fix barman-cloud-backup-show man page installation.

barman - Barman 3.7.0

Published by didiermichel about 1 year ago

Version 3.7.0 - 25 July 2023

Features

  • Support is added for snapshot backups on AWS using EBS volumes.

  • The --profile option in the barman-cloud-* scripts is renamed
    --aws-profile. The old name is deprecated and will be removed in
    a future release.

  • Backup manifests can now be generated automatically on completion
    of a backup made with backup_method = rsync. This is enabled by
    setting the autogenerate_manifest configuration variable and can
    be overridden using the --manifest and --no-manifest CLI options.

Bug fixes:

  • The barman-cloud-* scripts now correctly use continuation
    tokens to page through objects in AWS S3-compatible object
    stores. This fixes a bug where barman-cloud-backup-delete
    would only delete the oldest 1000 eligible WALs after backup
    deletion.

  • Minor documentation fixes.

barman - Barman 3.6.0

Published by gcalacoci over 1 year ago

Version 3.6.0 - 15 June 2023

Features

  • PostgreSQL version 10 is no longer supported.

  • Support is added for snapshot backups on Microsoft Azure using
    Managed Disks.

  • The --snapshot-recovery-zone option is renamed --gcp-zone for
    consistency with other provider-specific options. The old name
    is deprecated and will be removed in a future release.

  • The snapshot_zone option and --snapshot-zone argument are
    renamed gcp_zone and --gcp-zone respectively. The old names
    are deprecated and will be removed in a future release.

  • The snapshot_gcp_project option and --snapshot-gcp-project
    argument are renamed to gcp_project and --gcp-project. The
    old names are deprecated and will be removed in a future release.

Bug fixes:

  • Barman will no longer attempt to execute the replication-status
    command for a passive node.

  • The backup_label is deleted from cloud storage when a
    snapshot backup is deleted with barman-cloud-backup-delete.

  • Man pages for the generate-manifest and verify-backup
    commands are added.

  • Minor documentation fixes.

barman - Barman 3.4.1

Published by mikewallace1979 over 1 year ago

Version 3.4.1 - 31 March 2023

Bug fixes:

  • Fix a bug which prevented barman-cloud-backup-show from
    displaying the backup metadata for backups made with
    barman backup and uploaded by barman-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 than idle_session_timeout.

  • Fix a bug where the backup name was not saved in the backup
    metadata if the --wait flag was used with barman backup.

Acknowledgements

We thank the following who contributed to this release:

  • barthisrael
  • epolkerman
  • hzetters
barman - Barman 3.5.0

Published by didiermichel over 1 year ago

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 and barman-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 with barman-cloud-backup or barman-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 or barman-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 with backup_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 the barman backup and
    barman recover commands.

  • A new option --recovery-conf-filename is added to barman recover.
    This can be used to change the file to which Barman should write the
    PostgreSQL recovery options from the default postgresql.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 by barman-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 than idle_session_timeout.

  • Fix a bug where the backup name was not saved in the backup
    metadata if the --wait flag was used with barman backup.

Acknowledgements

We thank the following who contributed to this release:

  • barthisrael
  • epolkerman
  • hzetters
  • mhkarimi1383
  • mojtabash78
barman - Barman 3.4.0

Published by didiermichel over 1 year ago

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 named snapshot 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 - Barman 3.3.0

Published by mikewallace1979 almost 2 years ago

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 the barman backup and barman-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 to DEBUG (with the exception
    of pg_basebackup which is deliberately logged at INFO 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 - Barman 3.2.0

Published by mikewallace1979 almost 2 years ago

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 the aws-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 - Barman 3.1.0

Published by didiermichel about 2 years ago

Version 3.1.0 - 14 September 2022

Features

  • Backups taken with backup_method = postgres can now be compressed
    using lz4 and zstd compression by setting backup_compression = lz4
    or backup_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 with backup_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
    in primary_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 to barman-wal-archive and barman-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 of barman 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 - Barman 3.0.1

Published by didiermichel over 2 years ago

Version 3.0.1 - 27 June 2022

Bug fixes

  • Fix package signing issue in PyPI (same sources as 3.0.0)
barman - Barman 3.0.0

Published by didiermichel over 2 years ago

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 in backup_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 the backup_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 the recovery_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 specify exclusive_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 the streaming 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 with backup_method = rsync.

barman - Barman 2.19

Published by didiermichel over 2 years ago

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 and latest recovery targets for the --target-tli
    option of barman 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 in recovery_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 - Barman 2.18

Published by mikewallace1979 over 2 years ago

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 and barman 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 and barman-cloud-check-wal-archive added to Python packaging.

Acknowledgements

Thanks to the following for their contributions:

  • richyen
  • stratakis
barman - Barman 2.17

Published by didiermichel almost 3 years ago

Version 2.17 - 1 December 2021

Bug fixes

  • Resolves a performance regression introduced in version 2.14 which
    increased copy times for barman backup or barman 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).
barman - Barman 2.16

Published by jthreefoot-edb almost 3 years ago

Version 2.16 - 17 November 2021

Features

  • Add the commands barman-check-wal-archive and barman-cloud-check-wal-archive to validate if a proposed archive location is safe to use for a new PostgreSQL server.
  • Allow Barman to identify WAL that's already compressed using a custom compression scheme to avoid compressing it again.
  • Add last_backup_minimum_size and last_wal_maximum_age options to barman check.

Bug fixes

  • Use argparse for command line parsing instead of the unmaintained argh module.
  • Make timezones consistent for begin_time and end_time.

Thanks for their contributions:

  • chtitux
  • George Hansper
  • stratakis
  • Thoro
  • vrms
barman - Barman 2.15

Published by mikewallace1979 about 3 years ago

Version 2.15 - 12 October 2021

Features

  • Add plural forms for the list-backup, list-server and
    show-server commands which are now list-backups, list-servers
    and show-servers. The singular forms are retained for backward
    compatibility.

  • Add the last-failed backup shortcut which references the newest
    failed backup in the catalog so that you can do:
    barman delete <SERVER> last-failed

Bug fixes

  • Tablespaces will no longer be omitted from backups of EPAS
    versions 9.6 and 10 due to an issue detecting the correct version
    string on older versions of EPAS.