./databases/py-barman, Backup and Recovery Manager for PostgreSQL

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 3.10.0, Package name: py311-barman-3.10.0, Maintainer: pkgsrc-users

Barman (Backup and Recovery Manager) is an open-source administration
tool for disaster recovery of PostgreSQL servers written in Python.


Required to run:
[databases/py-psycopg2] [net/rsync] [devel/py-setuptools] [time/py-dateutil] [devel/py-argcomplete] [net/py-boto3] [lang/python310]

Master sites:

Filesize: 1575.976 KB

Version history: (Expand)


CVS history: (Expand)


   2024-02-16 21:30:15 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-barman: updated to 3.10.0

Version 3.10.0 - 24 January 2024

- 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.

Version 3.9.0 - 3 October 2023

- 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.

Version 3.8.0 - 31 August 2023

- 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.
   2022-09-11 19:08:50 by Thomas Klausner | Files touched by this commit (1)
Log message:
py-barman: restrict to python 3
   2022-05-11 12:23:11 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-barman: updated to 2.19

Version 2.19 - 9 March 2022

- 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`.

- We thank richyen for his contributions to this release.

Version 2.18 - 21 January 2022

- 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.

- We thank richyen and stratakis for their contributions to this
  release.

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).

Version 2.16 - 17 November 2021

- 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`.

- We thank chtitux, George Hansper, stratakis, Thoro, and vrms for their
  contributions to this release.

Version 2.15 - 12 October 2021

- 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.

Version 2.14 - 22 September 2021

- Add the `barman-cloud-backup-delete` command which allows backups in
  cloud storage to be deleted by specifying either a backup ID or a
  retention policy.

- Allow backups to be retained beyond any retention policies in force by
  introducing the ability to tag existing backups as archival backups
  using `barman keep` and `barman-cloud-backup-keep`.

- Allow the use of SAS authentication tokens created at the restricted
  blob container level (instead of the wider storage account level) for
  Azure blob storage

- Significantly speed up `barman restore` into an empty directory for
  backups that contain hundreds of thousands of files.

- Bug fixes:

    - The backup privileges check will no longer fail if the user lacks
      "userepl" permissions and will return better error messages if any
      required permissions are missing

Version 2.13 - 26 July 2021

- Add Azure blob storage support to barman-cloud

- Support tablespace remapping in barman-cloud-restore via
  `--tablespace name:location`

- Allow barman-cloud-backup and barman-cloud-wal-archive to run as
  Barman hook scripts, to allow data to be relayed to cloud storage
  from the Barman server

- Bug fixes:

    - Stop backups failing due to idle_in_transaction_session_timeout
      (https://github.com/EnterpriseDB/barman/issues/333)

    - Fix a race condition between backup and archive-wal in updating
      xlog.db entries

    - Handle PGDATA being a symlink in barman-cloud-backup, which led to
      "seeking backwards is not allowed" errors on restore

    - Recreate pg_wal on restore if the original was a symlink

    - Recreate pg_tblspc symlinks for tablespaces on restore

    - Make barman-cloud-backup-list skip backups it cannot read, e.g.,
      because they are in Glacier storage

    - Add `-d database` option to barman-cloud-backup to specify which
      database to connect to initially

    - Fix "Backup failed uploading data" errors from barman-cloud-backup
      on Python 3.8 and above, caused by attempting to pickle the boto3
      client

    - Correctly enable server-side encryption in S3 for buckets that do
      not have encryption enabled by default.

      In Barman 2.12, barman-cloud-backup's `--encryption` option did
      not correctly enable encryption for the contents of the backup if
      the backup was stored in an S3 bucket that did not have encryption
      enabled. If this is the case for you, please consider deleting
      your old backups and taking new backups with Barman 2.13.

      If your S3 buckets already have encryption enabled by default
      (which we recommend), this does not affect you.

Version 2.12.1 - 30 June 2021

-   Bug fixes:

    -   Allow specifying target-tli with other target-* recovery options
    -   Fix incorrect NAME in barman-cloud-backup-list manpage
    -   Don't raise an error if SIGALRM is ignored
    -   Fetch wal_keep_size, not wal_keep_segments, from Postgres 13

Version 2.12 - 5 Nov 2020

-   Introduce a new backup_method option called local-rsync which
    targets those cases where Barman is installed on the same server
    where PostgreSQL is and directly uses rsync to take base backups,
    bypassing the SSH layer.

-   Bug fixes:

    -   Avoid corrupting boto connection in worker processes
    -   Avoid connection attempts to PostgreSQL during tests
   2022-01-05 16:41:32 by Thomas Klausner | Files touched by this commit (289)
Log message:
python: egg.mk: add USE_PKG_RESOURCES flag

This flag should be set for packages that import pkg_resources
and thus need setuptools after the build step.

Set this flag for packages that need it and bump PKGREVISION.
   2022-01-04 21:55:40 by Thomas Klausner | Files touched by this commit (1595)
Log message:
*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS
   2021-10-26 12:10:08 by Nia Alarie | Files touched by this commit (417)
Log message:
databases: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

The following distfiles could not be fetched (some may be only fetched
conditionally):

./databases/cstore/distinfo D6.data.ros.gz
./databases/cstore/distinfo cstore0.2.tar.gz
./databases/cstore/distinfo data4.tar.gz
   2021-10-07 15:35:53 by Nia Alarie | Files touched by this commit (417)
Log message:
databases: Remove SHA1 distfile hashes
   2020-08-26 12:20:19 by Jonathan Perkin | Files touched by this commit (3)
Log message:
py-barman: Update to 2.11.

Version 2.11 - 9 Jul 2020

-   Introduction of the barman-cli-cloud package that contains all cloud
    related utilities.

-   Add barman-cloud-wal-restore to restore a WAL file previously
    archived with barman-cloud-wal-archive from an object store

-   Add barman-cloud-restore to restore a backup previously taken with
    barman-cloud-backup from an object store

-   Add barman-cloud-backup-list to list backups taken with
    barman-cloud-backup in an object store

-   Add support for arbitrary archive size for barman-cloud-backup

-   Add support for --endpoint-url option to cloud utilities

-   Remove strict superuser requirement for PG 10+ (by Kaarel Moppel)

-   Add --log-level runtime option for barman to override default log
    level for a specific command

-   Support for PostgreSQL 13

-   Bug fixes:

    -   Suppress messages and warning with SSH connections in barman-cli
        (GH-257)
    -   Fix a race condition when retrieving uploaded parts in
        barman-cloud-backup (GH-259)
    -   Close the PostgreSQL connection after a backup (GH-258)
    -   Check for uninitialized replication slots in receive-wal --reset
        (GH-260)
    -   Ensure that begin_wal is valorised before acting on it (GH-262)
    -   Fix bug in XLOG/WAL arithmetic with custom segment size (GH-287)
    -   Fix rsync compatibility error with recent rsync
    -   Fix PostgreSQLClient version parsing
    -   Fix PostgreSQL exception handling with non ASCII messages
    -   Ensure each postgres connection has an empty search_path
    -   Avoid connecting to PostgreSQL while reading a backup.info file

If you are using already barman-cloud-wal-archive or barman-cloud-backup
installed via RPM/Apt package and you are upgrading your system, you
must install the barman-cli-cloud package. All cloud related tools are
now part of the barman-cli-cloud package, including
barman-cloud-wal-archive and barman-cloud-backup that were previosly
shipped with barman-cli. The reason is complex dependency management of
the boto3 library, which is a requirement for the cloud utilities.

Version 2.10 - 5 Dec 2019

-   Pull .partial WAL files with get-wal and barman-wal-restore,
    allowing restore_command in a recovery scenario to fetch a partial
    WAL file's content from the Barman server. This feature simplifies
    and enhances RPO=0 recovery operations.

-   Store the PostgreSQL system identifier in the server directory and
    inside the backup information file. Improve check command to verify
    the consistency of the system identifier with active connections
    (standard and replication) and data on disk.

-   A new script called barman-cloud-wal-archive has been added to the
    barman-cli package to directly ship WAL files from PostgreSQL (using
    archive_command) to cloud object storage services that are
    compatible with AWS S3. It supports encryption and compression.

-   A new script called barman-cloud-backup has been added to the
    barman-cli package to directly ship base backups from a local
    PostgreSQL server to cloud object storage services that are
    compatible with AWS S3. It supports encryption, parallel upload,
    compression.

-   Automated creation of replication slots through the server/global
    option create_slot. When set to auto, Barman creates the replication
    slot, in case streaming_archiver is enabled and slot_name is
    defined. The default value is manual for back-compatibility.

-   Add '-w/--wait' option to backup command, making Barman wait for all
    required WAL files to be archived before considering the backup
    completed. Add also the --wait-timeout option (default 0, no
    timeout).

-   Redact passwords from Barman output, in particular from
    barman diagnose (InfoSec)

-   Improve robustness of receive-wal --reset command, by verifying that
    the last partial file is aligned with the current location or, if
    present, with replication slot's.

-   Documentation improvements

-   Bug fixes:

    -   Wrong string matching operation when excluding tablespaces
        inside PGDATA (GH-245)
    -   Minor fixes in WAL delete hook scripts (GH-240)
    -   Fix PostgreSQL connection aliveness check (GH-239)

Version 2.9 - 1 Aug 2019

-   Transparently support PostgreSQL 12, by supporting the new way of
    managing recovery and standby settings through GUC options and
    signal files (recovery.signal and standby.signal)

-   Add --bwlimit command line option to set bandwidth limitation for
    backup and recover commands

-   Ignore WAL archive failure for check command in case the latest
    backup is WAITING_FOR_WALS

-   Add --target-lsn option to set recovery target Log Sequence Number
    for recover command with PostgreSQL 10 or higher

-   Add --spool-dir option to barman-wal-restore so that users can
    change the spool directory location from the default, avoiding
    conflicts in case of multiple PostgreSQL instances on the same
    server (thanks to Drazen Kacar).

-   Rename barman_xlog directory to barman_wal

-   JSON output writer to export command output as JSON objects and
    facilitate integration with external tools and systems (thanks to
    Marcin Onufry Hlybin). Experimental in this release.

Bug fixes:

-   replication-status doesn’t show streamers with no slot (GH-222)

-   When checking that a connection is alive (“SELECT 1” query),
    preserve the status of the PostgreSQL connection (GH-149). This
    fixes those cases of connections that were terminated due to
    idle-in-transaction timeout, causing concurrent backups to fail.

Version 2.8 - 17 May 2019

-   Add support for reuse_backup in geo-redundancy for incremental
    backup copy in passive nodes

-   Improve performance of rsync based copy by using strptime instead of
    the more generic dateutil.parser (#210)

-   Add ‘--test’ option to barman-wal-archive and barman-wal-restore to
    verify the connection with the Barman server

-   Complain if backup_options is not explicitly set, as the future
    default value will change from exclusive_backup to concurrent_backup
    when PostgreSQL 9.5 will be declared EOL by the PGDG

-   Display additional settings in the show-server and diagnose
    commands: archive_timeout, data_checksums, hot_standby,
    max_wal_senders, max_replication_slots and wal_compression.

-   Merge the barman-cli project in Barman

-   Bug fixes:

    -   Fix encoding error in get-wal on Python 3 (Jeff Janes, #221)
    -   Fix exclude_and_protect_filter (Jeff Janes, #217)
    -   Remove spurious message when resetting WAL (Jeff Janes, #215)
    -   Fix sync-wals error if primary has WALs older than the first
        backup
    -   Support for double quotes in synchronous_standby_names setting

-   Minor changes:

    -   Improve messaging of check --nagios for inactive servers
    -   Log remote SSH command with recover command
    -   Hide logical decoding connections in replication-status command

This release officially supports Python 3 and deprecates Python 2 (which
might be discontinued in future releases).

PostgreSQL 9.3 and older is deprecated from this release of Barman.
Support for backup from standby is now limited to PostgreSQL 9.4 or
higher and to WAL shipping from the standby (please refer to the
documentation for details).

Version 2.7 - 21 Mar 2019

-   Fix error handling during the parallel backup. Previously an
    unrecoverable error during the copy could have corrupted the barman
    internal state, requiring a manual kill of barman process with
    SIGTERM and a manual cleanup of the running backup in PostgreSQL.
    (GH#199)

-   Fix support of UTF-8 characters in input and output (GH#194 and
    GH#196)

-   Ignore history/backup/partial files for first sync of geo-redundancy
    (GH#198)

-   Fix network failure with geo-redundancy causing cron to break
    (GH#202)

-   Fix backup validation in PostgreSQL older than 9.2

-   Various documentation fixes

Version 2.6 - 4 Feb 2019

-   Add support for Geographical redundancy, introducing 3 new commands:
    sync-info, sync-backup and sync-wals. Geo-redundancy allows a Barman
    server to use another Barman server as data source instead of a
    PostgreSQL server.

-   Add put-wal command that allows Barman to safely receive WAL files
    via PostgreSQL's archive_command using the barman-wal-archive script
    included in barman-cli

-   Add ANSI colour support to check command

-   Minor fixes:

    -   Fix switch-wal on standby with an empty WAL directory
    -   Honour archiver locking in wait_for_wal method
    -   Fix WAL compression detection algorithm
    -   Fix current_action in concurrent stop backup errors
    -   Do not treat lock file busy as an error when validating a backup