Provided by: barman-cli-cloud_2.18-1_all bug

NAME

       barman-cloud-wal-archive - Archive PostgreSQL WAL files in the Cloud using archive_command

SYNOPSIS

       barman-cloud-wal-archive [OPTIONS] DESTINATION_URL SERVER_NAME WAL_PATH

DESCRIPTION

       This  script  can  be  used in the archive_command of a PostgreSQL server to ship WAL files to the Cloud.
       Currently AWS S3 and Azure Blob Storage are supported.

       Note: If you are running python 2 or older unsupported versions of python 3 then  avoid  the  compression
       options --gzip or --bzip2 as barman-cloud-wal-restore is unable to restore gzip-compressed WALs on python
       < 3.2 or bzip2-compressed WALs on python < 3.3.

       This  script  and  Barman are administration tools for disaster recovery of PostgreSQL servers written in
       Python and maintained by EnterpriseDB.

POSITIONAL ARGUMENTS

       DESTINATION_URL
              URL  of  the  cloud  destination,  such  as  a  bucket  in  AWS  S3.   For   example:   s3://BUCK‐
              ET_NAME/path/to/folder (where BUCKET_NAME is the bucket you have created in AWS).

       SERVER_NAME
              the name of the server as configured in Barman.

       WAL_PATH
              the value of the `%p' keyword (according to `archive_command').

OPTIONS

       -h, –help
              show a help message and exit

       -V, –version
              show program's version number and exit

       -v, –verbose
              increase output verbosity (e.g., -vv is more than -v)

       -q, –quiet
              decrease output verbosity (e.g., -qq is less than -q)

       -t, –test
              test connectivity to the cloud destination and exit

       -z, –gzip
              gzip-compress the WAL while uploading to the cloud (should not be used with python < 3.2)

       -j, –bzip2
              bzip2-compress the WAL while uploading to the cloud (should not be used with python < 3.3)

       –snappy
              snappy-compress  the WAL while uploading to the cloud (requires optional python-snappy library and
              should not be used with python < 3.3)

       –cloud-provider {aws-s3,azure-blob-storage}
              the cloud provider to which the backup should be uploaded

       –tags KEY1,VALUE1 KEY2,VALUE2 ...
              A space-separated list of comma-separated key-value pairs representing tags to be  added  to  each
              WAL file archived to cloud storage.

       –history-tags KEY1,VALUE1 KEY2,VALUE2 ...
              A  space-separated  list  of comma-separated key-value pairs representing tags to be added to each
              history file archived to cloud storage.  If this is provided alongside the --tags option then  the
              value  of  --history-tags  will be used in place of --tags for history files.  All other WAL files
              will continue to be tagged with the value of --tags.

       -P, –profile
              profile name (e.g. INI section in AWS credentials file)

       –endpoint-url
              override the default S3 URL construction mechanism by specifying an endpoint.

       -e, –encryption
              the  encryption  algorithm  used  when  storing  the  uploaded  data   in   S3   Allowed   values:
              `AES256'|`aws:kms'

       –encryption-scope
              the  name  of an encryption scope defined in the Azure Blob Storage service which is to be used to
              encrypt the data in Azure

       –credential {azure-cli,managed-identity}
              optionally specify the type of credential to use when authenticating with Azure Blob Storage.   If
              omitted then the credential will be obtained from the environment.  If no credentials can be found
              in the environment then the default Azure authentication flow will be used.

       –max-block-size SIZE
              the  chunk size to be used when uploading an object to Azure Blob Storage via the concurrent chunk
              method (default: 4MB).

       –max-concurrency CONCURRENCY
              the maximum number of chunks to be uploaded concurrently  to  Azure  Blob  Storage  (default:  1).
              Whether  the  maximum  concurrency is achieved depends on the values of –max-block-size (should be
              less  than  or  equal  to  WAL segment size after compression / max_concurrency)   and   –max-sin‐
              gle-put-size (must be less than WAL segment size after compression).

       –max-single-put-size SIZE
              maximum  size  for  which the Azure client will upload an object to Azure Blob Storage in a single
              request (default: 64MB).  If this is set lower than the WAL segment size after  any  applied  com‐
              pression then the concurrent chunk upload method for WAL archiving will be used.

REFERENCES

       For Boto:

       • https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html

       For AWS:

       • http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.htmlhttp://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html.

       For Azure Blob Storage:

       • https://docs.microsoft.com/en-us/azure/storage/blobs/authorize-data-operations-cli#set-environ‐
         ment-variables-for-authorization-parameters

       • https://docs.microsoft.com/en-us/python/api/azure-storage-blob/?view=azure-python

DEPENDENCIES

       If using --cloud-provider=aws-s3:

       • boto3

       If using --cloud-provider=azure-blob-storage:

       • azure-storage-blob

       • azure-identity (optional, if you wish to use DefaultAzureCredential)

EXIT STATUS

       0      Success

       1      The WAL archive operation was not successful

       2      The connection to the cloud provider failed

       3      There was an error in the command input

       Other non-zero codes
              Failure

SEE ALSO

       This  script  can  be used in conjunction with pre_archive_retry_script to relay WAL files to S3, as fol‐
       lows:

              pre_archive_retry_script = 'barman-cloud-wal-archive [*OPTIONS*] *DESTINATION_URL* ${BARMAN_SERVER}'

BUGS

       Barman has been extensively tested, and is currently being used in several production environments.  How‐
       ever, we cannot exclude the presence of bugs.

       Any bug can be reported via the Github issue tracker.

RESOURCES

       • Homepage: <http://www.pgbarman.org/>

       • Documentation: <http://docs.pgbarman.org/>

       • Professional support: <http://www.enterprisedb.com/>

COPYING

       Barman is the property of EnterpriseDB UK Limited and its code is distributed under  GNU  General  Public
       License v3.

       © Copyright EnterpriseDB UK Limited 2011-2022

AUTHORS

       EnterpriseDB <http://www.enterprisedb.com>.

Barman User manuals                             January 21, 2022                     BARMAN-CLOUD-WAL-ARCHIVE(1)