barman-cloud-wal-restore - Restore PostgreSQL WAL files from the Cloud using
restore_command
barman-cloud-wal-restore [
OPTIONS]
SOURCE_URL SERVER_NAME
WAL_NAME WAL_PATH
This script can be used as a restore_command to download WAL files previously
archived with barman-cloud-wal-archive command. Currently AWS S3, Azure Blob
Storage and Google Cloud Storage are supported.
This script and Barman are administration tools for disaster recovery of
PostgreSQL servers written in Python and maintained by EnterpriseDB.
-
usage: barman-cloud-wal-restore [-V] [--help] [-v | -q] [-t]
[--cloud-provider {aws-s3,azure-blob-storage,google-cloud-storage}]
[--endpoint-url ENDPOINT_URL] [-P PROFILE]
[--read-timeout READ_TIMEOUT]
[--credential {azure-cli,managed-identity}]
source_url server_name wal_name wal_dest
This script can be used as a `restore_command` to download WAL files
previously archived with barman-cloud-wal-archive command. Currently AWS S3,
Azure Blob Storage and Google Cloud Storage are supported.
positional arguments:
source_url URL of the cloud source, such as a bucket in AWS S3.
For example: `s3://bucket/path/to/folder`.
server_name the name of the server as configured in Barman.
wal_name The value of the '%f' keyword (according to
'restore_command').
wal_dest The value of the '%p' keyword (according to
'restore_command').
optional arguments:
-V, --version show program's version number and exit
--help show this help message 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 cloud connectivity and exit
--cloud-provider {aws-s3,azure-blob-storage,google-cloud-storage}
The cloud provider to use as a storage backend
Extra options for the aws-s3 cloud provider:
--endpoint-url ENDPOINT_URL
Override default S3 endpoint URL with the given one
-P PROFILE, --profile PROFILE
profile name (e.g. INI section in AWS credentials
file)
--read-timeout READ_TIMEOUT
the time in seconds until a timeout is raised when
waiting to read from a connection (defaults to 60
seconds)
Extra options for the azure-blob-storage cloud provider:
--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
For Boto:
- •
- https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html
For AWS:
- •
- https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html
- •
- https://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-environment-variables-for-authorization-parameters
- •
- https://docs.microsoft.com/en-us/python/api/azure-storage-blob/?view=azure-python
For Google Cloud Storage: * Credentials:
https://cloud.google.com/docs/authentication/getting-started#setting_the_environment_variable
Only authentication with GOOGLE_APPLICATION_CREDENTIALS env is supported at the
moment.
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)
If using --cloud-provider=google-cloud-storage * google-cloud-storage
- 0
- Success
- 1
- The requested WAL could not be found
- 2
- The connection to the cloud provider failed
- 3
- There was an error in the command input
- Other non-zero codes
- Failure
Barman has been extensively tested, and is currently being used in several
production environments. However, we cannot exclude the presence of bugs.
Any bug can be reported via the GitHub issue tracker.
- •
- Homepage: <https://www.pgbarman.org/>
- •
- Documentation: <https://docs.pgbarman.org/>
- •
- Professional support:
<https://www.enterprisedb.com/>
Barman is the property of EnterpriseDB UK Limited and its code is distributed
under GNU General Public License v3.
© Copyright EnterpriseDB UK Limited 2011-2023
EnterpriseDB <
https://www.enterprisedb.com>.