├── .github
├── CODEOWNERS
└── workflows
│ ├── linter.yml
│ └── main.yml
├── .gitignore
├── .gitleaks.toml
├── .hadolint.yaml
├── .isort.cfg
├── .markdownlint.yml
├── .python-black
├── .yamllint.yml
├── AUTHORS
├── INSTALL.md
├── LICENSE
├── MANIFEST.in
├── README.rst
├── RELNOTES.md
├── TODO
├── barman
├── __init__.py
├── annotations.py
├── backup.py
├── backup_executor.py
├── backup_manifest.py
├── cli.py
├── clients
│ ├── __init__.py
│ ├── cloud_backup.py
│ ├── cloud_backup_delete.py
│ ├── cloud_backup_keep.py
│ ├── cloud_backup_list.py
│ ├── cloud_backup_show.py
│ ├── cloud_check_wal_archive.py
│ ├── cloud_cli.py
│ ├── cloud_compression.py
│ ├── cloud_restore.py
│ ├── cloud_walarchive.py
│ ├── cloud_walrestore.py
│ ├── walarchive.py
│ └── walrestore.py
├── cloud.py
├── cloud_providers
│ ├── __init__.py
│ ├── aws_s3.py
│ ├── azure_blob_storage.py
│ └── google_cloud_storage.py
├── command_wrappers.py
├── compression.py
├── config.py
├── copy_controller.py
├── diagnose.py
├── encryption.py
├── exceptions.py
├── fs.py
├── hooks.py
├── infofile.py
├── lockfile.py
├── output.py
├── postgres.py
├── postgres_plumbing.py
├── process.py
├── recovery_executor.py
├── remote_status.py
├── retention_policies.py
├── server.py
├── storage
│ ├── __init__.py
│ ├── file_manager.py
│ ├── file_stats.py
│ └── local_file_manager.py
├── utils.py
├── version.py
├── wal_archiver.py
└── xlog.py
├── docs
├── Dockerfile
├── Makefile
├── README.md
├── _build
│ └── man
│ │ ├── barman-archive-wal.1
│ │ ├── barman-backup.1
│ │ ├── barman-check-backup.1
│ │ ├── barman-check.1
│ │ ├── barman-cloud-backup-delete.1
│ │ ├── barman-cloud-backup-keep.1
│ │ ├── barman-cloud-backup-list.1
│ │ ├── barman-cloud-backup-show.1
│ │ ├── barman-cloud-backup.1
│ │ ├── barman-cloud-check-wal-archive.1
│ │ ├── barman-cloud-restore.1
│ │ ├── barman-cloud-wal-archive.1
│ │ ├── barman-cloud-wal-restore.1
│ │ ├── barman-config-switch.1
│ │ ├── barman-config-update.1
│ │ ├── barman-cron.1
│ │ ├── barman-delete.1
│ │ ├── barman-diagnose.1
│ │ ├── barman-generate-manifest.1
│ │ ├── barman-get-wal.1
│ │ ├── barman-keep.1
│ │ ├── barman-list-files.1
│ │ ├── barman-list-processes.1
│ │ ├── barman-list-servers.1
│ │ ├── barman-list_backups.1
│ │ ├── barman-lock-directory-cleanup.1
│ │ ├── barman-put-wal.1
│ │ ├── barman-rebuild-xlogdb.1
│ │ ├── barman-receive-wal.1
│ │ ├── barman-recover.1
│ │ ├── barman-replication-status.1
│ │ ├── barman-restore.1
│ │ ├── barman-show-backup.1
│ │ ├── barman-show-servers.1
│ │ ├── barman-status.1
│ │ ├── barman-switch-wal.1
│ │ ├── barman-switch-xlog.1
│ │ ├── barman-sync-backup.1
│ │ ├── barman-sync-info.1
│ │ ├── barman-sync-wals.1
│ │ ├── barman-terminate-process.1
│ │ ├── barman-verify-backup.1
│ │ ├── barman-verify.1
│ │ ├── barman-wal-archive.1
│ │ ├── barman-wal-restore.1
│ │ ├── barman.1
│ │ └── barman.5
├── barman.conf
├── barman.d
│ ├── passive-server.conf-template
│ ├── ssh-server.conf-template
│ └── streaming-server.conf-template
├── build
│ └── build
├── conf.py
├── contributor_guide
│ ├── index.rst
│ ├── opening_pr.rst
│ ├── setting_up_dev_env.rst
│ ├── writing_code.rst
│ ├── writing_docs.rst
│ └── writing_tests.rst
├── faq
│ └── index.rst
├── images
│ ├── barman-full-streaming.png
│ ├── barman-georedundancy.png
│ ├── barman-multilocation-georedundancy.png
│ ├── barman-remote-copy.png
│ ├── barman-rsync-backup-receivewal.png
│ └── source
│ │ ├── Barman-full-streaming.excalidraw
│ │ ├── Barman-full-streaming.svg
│ │ ├── Barman-georedundancy.excalidraw
│ │ ├── Barman-georedundancy.svg
│ │ ├── Barman-multilocation-georedundancy.excalidraw
│ │ ├── Barman-multilocation-georedundancy.svg
│ │ ├── Barman-remote-copy.excalidraw
│ │ ├── Barman-remote-copy.svg
│ │ ├── Barman-rsync-backup-receivewal.excalidraw
│ │ └── Barman-rsync-backup-receivewal.svg
├── index.rst
├── index_pdf.rst
├── license
│ └── index.rst
├── releases
│ └── index.rst
└── user_guide
│ ├── architectures.rst
│ ├── backup.rst
│ ├── barman_check.rst
│ ├── barman_cloud.rst
│ ├── catalog.rst
│ ├── commands.rst
│ ├── commands
│ ├── barman
│ │ ├── archive_wal.inc.rst
│ │ ├── backup.inc.rst
│ │ ├── barman.inc.rst
│ │ ├── check.inc.rst
│ │ ├── check_backup.inc.rst
│ │ ├── config_switch.inc.rst
│ │ ├── config_update.inc.rst
│ │ ├── cron.inc.rst
│ │ ├── delete.inc.rst
│ │ ├── diagnose.inc.rst
│ │ ├── generate_manifest.inc.rst
│ │ ├── get_wal.inc.rst
│ │ ├── keep.inc.rst
│ │ ├── list_backups.inc.rst
│ │ ├── list_files.inc.rst
│ │ ├── list_processes.inc.rst
│ │ ├── list_servers.inc.rst
│ │ ├── lock_directory_cleanup.inc.rst
│ │ ├── put_wal.inc.rst
│ │ ├── rebuild_xlogdb.inc.rst
│ │ ├── receive_wal.inc.rst
│ │ ├── recover.inc.rst
│ │ ├── replication_status.inc.rst
│ │ ├── restore.inc.rst
│ │ ├── show_backup.inc.rst
│ │ ├── show_servers.inc.rst
│ │ ├── status.inc.rst
│ │ ├── switch_wal.inc.rst
│ │ ├── switch_xlog.inc.rst
│ │ ├── sync_backup.inc.rst
│ │ ├── sync_info.inc.rst
│ │ ├── sync_wals.inc.rst
│ │ ├── terminate_process.inc.rst
│ │ ├── verify.inc.rst
│ │ └── verify_backup.inc.rst
│ ├── barman_cli
│ │ ├── wal_archive.inc.rst
│ │ └── wal_restore.inc.rst
│ └── barman_cloud
│ │ ├── backup.inc.rst
│ │ ├── backup_delete.inc.rst
│ │ ├── backup_keep.inc.rst
│ │ ├── backup_list.inc.rst
│ │ ├── backup_show.inc.rst
│ │ ├── check_wal_archive.inc.rst
│ │ ├── restore.inc.rst
│ │ ├── wal_archive.inc.rst
│ │ └── wal_restore.inc.rst
│ ├── concepts.rst
│ ├── configuration.rst
│ ├── diagnose_and_troubleshooting.rst
│ ├── geographical_redundancy.rst
│ ├── glossary.rst
│ ├── hook_scripts.rst
│ ├── index.rst
│ ├── installation.rst
│ ├── pre_requisites.rst
│ ├── quickstart.rst
│ ├── recovery.rst
│ ├── retention_policies.rst
│ └── wal_archiving.rst
├── requirements-tox.txt
├── scripts
├── barman.bash_completion
├── prepare_snapshot_recovery.py
└── runbooks
│ ├── snapshot_recovery_aws.md
│ └── snapshot_recovery_azure.md
├── setup.cfg
├── setup.py
├── tests
├── conftest.py
├── requirements_dev.txt
├── requirements_flake8.txt
├── storage
│ ├── test_file_stats.py
│ └── test_local_file_manager.py
├── test_annotations.py
├── test_backup.py
├── test_backup_manifest.py
├── test_backup_strategy.py
├── test_barman_cloud_backup.py
├── test_barman_cloud_backup_delete.py
├── test_barman_cloud_backup_keep.py
├── test_barman_cloud_backup_list.py
├── test_barman_cloud_backup_show.py
├── test_barman_cloud_check_wal_archive.py
├── test_barman_cloud_restore.py
├── test_barman_cloud_wal_archive.py
├── test_barman_cloud_wal_restore.py
├── test_barman_wal_archive.py
├── test_barman_wal_restore.py
├── test_cli.py
├── test_cloud.py
├── test_cloud_snapshot_interface.py
├── test_command_wrappers.py
├── test_compressor.py
├── test_config.py
├── test_copy_controller.py
├── test_diagnose.py
├── test_encryption.py
├── test_executor.py
├── test_fs.py
├── test_hooks.py
├── test_infofile.py
├── test_lockfile.py
├── test_output.py
├── test_postgres.py
├── test_postgres_plumbing.py
├── test_process.py
├── test_recovery_executor.py
├── test_retention_policies.py
├── test_server.py
├── test_sync.py
├── test_utils.py
├── test_wal_archiver.py
├── test_xlog.py
└── testing_helpers.py
└── tox.ini
/.github/CODEOWNERS:
--------------------------------------------------------------------------------
1 | # Each line is a file pattern followed by one or more owners.
2 |
3 | # These owners will be the default owners for everything in
4 | # the repo. Unless a later match takes precedence,
5 | # @global-owner1 and @global-owner2 will be requested for
6 | # review when someone opens a pull request.
7 | * @EnterpriseDB/barman-team
8 |
9 |
--------------------------------------------------------------------------------
/.github/workflows/linter.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # © Copyright EnterpriseDB UK Limited 2018-2025
3 |
4 | name: Linters
5 |
6 | on:
7 | pull_request:
8 | branches:
9 | - master
10 |
11 | push:
12 | branches:
13 | - master
14 |
15 | schedule:
16 | # Lint code base every Monday 12:00 am. The idea here is to catch possible
17 | # issues that were not detected during the normal development workflow.
18 | - cron: '0 0 * * 1'
19 |
20 | workflow_dispatch:
21 | inputs:
22 | source-ref:
23 | description: Source code branch/ref name
24 | default: master
25 | required: true
26 | type: string
27 |
28 | env:
29 | SOURCE_REF: ${{ inputs.source-ref || github.ref }}
30 | GITHUB_TOKEN: ${{ secrets.GH_SLONIK }}
31 |
32 | jobs:
33 | run-super-linter:
34 | name: Run super linter
35 | runs-on: ubuntu-latest
36 |
37 | permissions:
38 | contents: read
39 | packages: read
40 | # To report GitHub Actions status checks
41 | statuses: write
42 |
43 | steps:
44 | - name: Checkout code
45 | uses: actions/checkout@v4
46 | with:
47 | ref: ${{ env.SOURCE_REF }}
48 | # Full git history is needed to get a proper list of changed files within `super-linter`
49 | fetch-depth: 0
50 |
51 | - name: Set up Python
52 | uses: actions/setup-python@v5
53 |
54 | - name: Super-linter
55 | uses: super-linter/super-linter/slim@v7
56 | env:
57 | # To report GitHub Actions status checks
58 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
59 | # Linters configuration.
60 | LINTER_RULES_PATH: '.'
61 | # We are not interested in linting files from the old docs, which are going
62 | # to be removed soon:
63 | FILTER_REGEX_EXCLUDE: 'old_docs/.*\.md'
64 | DOCKERFILE_HADOLINT_FILE_NAME: .hadolint.yaml
65 | GITLEAKS_CONFIG_FILE: .gitleaks.toml
66 | MARKDOWN_CONFIG_FILE: .markdownlint.yml
67 | PYTHON_BLACK_CONFIG_FILE: .python-black
68 | PYTHON_FLAKE8_CONFIG_FILE: tox.ini
69 | PYTHON_ISORT_CONFIG_FILE: .isort.cfg
70 | YAML_CONFIG_FILE: .yamllint.yml
71 | YAML_ERROR_ON_WARNING: false
72 | # On runs triggered by PRs we only lint the added/modified files.
73 | VALIDATE_ALL_CODEBASE: ${{ github.event_name != 'pull_request' }}
74 | # Validate file types used in the Barman repo.
75 | # Bash because of bash scripts.
76 | VALIDATE_BASH: true
77 | VALIDATE_BASH_EXEC: true
78 | # Dockerfile because we might add some of them soon.
79 | VALIDATE_DOCKERFILE_HADOLINT: true
80 | # Validate the own GitHub workflows and actions.
81 | VALIDATE_GITHUB_ACTIONS: true
82 | # Search for leaks in the repository.
83 | VALIDATE_GITLEAKS: true
84 | # Validate all documentation files from the repo.
85 | VALIDATE_MARKDOWN: true
86 | # Validate Python code.
87 | VALIDATE_PYTHON_BLACK: true
88 | VALIDATE_PYTHON_FLAKE8: true
89 | VALIDATE_PYTHON_ISORT: true
90 | # Validate YAML files from workflows.
91 | VALIDATE_YAML: true
92 |
--------------------------------------------------------------------------------
/.github/workflows/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | name: CI
3 |
4 | on:
5 | pull_request:
6 | branches: [master]
7 | push:
8 | branches: [master]
9 |
10 | jobs:
11 | unit-tests:
12 | name: "Python ${{ matrix.python-version }} ${{ matrix.tox-env }}"
13 | runs-on: ubuntu-22.04
14 | strategy:
15 | matrix:
16 | python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"]
17 | tox-env: [""]
18 | exclude:
19 | # We need to support Python 3.6 in the unit tests as that's the default Python
20 | # version in RHEL 8 and SLES 15 and we need to support those platforms.
21 | # However, GitHub dropped the Ubuntu 20.04 runner on April 15th, 2025, and
22 | # newer Ubuntu runners don't have Python 3.6 available. As a workaround, we
23 | # are using Ubuntu 22.04 and excluding Python 3.6 from the matrix for now.
24 | - python-version: "3.6"
25 |
26 | steps:
27 | - name: Step 1 - Checkout repository
28 | uses: actions/checkout@v4
29 | - name: Step 2 - Install python
30 | uses: actions/setup-python@v5
31 | with:
32 | python-version: "${{ matrix.python-version }}"
33 | - name: Step 3 - Install system deps for extras
34 | run: |
35 | sudo apt update && sudo apt-get install libsnappy-dev
36 |
37 | # azure-identity imports ctype, and the ctype version available in the
38 | # Ubuntu 22.04 runner is referencing libffi.so.7, which is not
39 | # available. This is a workaround to install the libffi7 package.
40 | sudo apt-get install libffi7
41 | - name: Step 4 - Install dependencies to run tox
42 | run: |
43 | # We need to pin pip to 25.0.1 because of the following pip issue:
44 | # https://github.com/jazzband/pip-tools/issues/2176
45 | python -m pip install 'pip<=25.0.1'
46 | python -m pip install setuptools wheel
47 | python -m pip install -r requirements-tox.txt
48 | python -m pip install tox-gh-actions
49 |
50 | - name: Step 5 - Run tox targets for ${{ matrix.python-version }} ${{matrix.tox-env}}
51 | run: |
52 | if [[ -z "${{ matrix.tox-env }}" ]]
53 | then
54 | python -m tox
55 | else
56 | python -m tox -e ${{ matrix.tox-env }}
57 | fi
58 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # compiled python sources
2 | *.pyc
3 | *.pyo
4 |
5 | # python modules
6 | *.egg
7 | .eggs
8 |
9 | # editor backups
10 | *~
11 | \#*\#
12 | .*.swp
13 | *.bak
14 |
15 | # eclipse project files
16 | /.project
17 | /.pydevproject
18 | /.settings
19 |
20 | # PyCharm
21 | /.idea
22 | venv/*
23 |
24 | # tox testing
25 | .tox/
26 | .cache/
27 |
28 | # setuptools
29 | /MANIFEST
30 | /dist
31 | /build
32 | /barman.egg-info
33 |
34 | # OSX
35 | .DS_Store
36 |
37 | # pyenv
38 | .python-version
39 |
40 | # Sphinx docs
41 | docs/_build/*
42 | docs/contributor_guide/modules
43 |
44 | # Allow the man directory
45 | !docs/_build/man/
--------------------------------------------------------------------------------
/.gitleaks.toml:
--------------------------------------------------------------------------------
1 | [extend]
2 | # useDefault will extend the base configuration with the default gitleaks config:
3 | # https://github.com/zricethezav/gitleaks/blob/master/config/gitleaks.toml
4 | useDefault = true
5 |
--------------------------------------------------------------------------------
/.hadolint.yaml:
--------------------------------------------------------------------------------
1 | failure-threshold: error
2 |
--------------------------------------------------------------------------------
/.isort.cfg:
--------------------------------------------------------------------------------
1 | [settings]
2 | profile = black
3 | multi_line_output = 3
4 |
--------------------------------------------------------------------------------
/.markdownlint.yml:
--------------------------------------------------------------------------------
1 | # MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md013.md
2 | # We don't want the linter to fail just because line-length was exceeded.
3 | MD013: false
4 | # MD024/no-duplicate-heading: https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md024.md
5 | # We don't want the linter to fail when duplicated header names are found. That is not
6 | # relevant for us, and actually we rely on duplicated names when generating the RELNOTES.md
7 | # contents.
8 | MD024: false
9 |
--------------------------------------------------------------------------------
/.python-black:
--------------------------------------------------------------------------------
1 | [tool.black]
2 | line-length = 88
3 |
--------------------------------------------------------------------------------
/.yamllint.yml:
--------------------------------------------------------------------------------
1 | extends: default
2 |
3 | rules:
4 | # comments should visibly make sense
5 | comments:
6 | level: error
7 | comments-indentation:
8 | level: error
9 | # 88 chars should be enough, but don't fail if a line is longer
10 | line-length:
11 | max: 88
12 | level: warning
13 |
--------------------------------------------------------------------------------
/AUTHORS:
--------------------------------------------------------------------------------
1 | Barman maintainers (in alphabetical order):
2 |
3 | * Andre Marchesini
4 | * Barbara Leidens
5 | * Giulio Calacoci
6 | * Gustavo Oliveira
7 | * Israel Barth
8 | * Martín Marqués
9 |
10 | Past contributors (in alphabetical order):
11 |
12 | * Abhijit Menon-Sen (architect)
13 | * Anna Bellandi (QA/testing)
14 | * Britt Cole (documentation reviewer)
15 | * Carlo Ascani (developer)
16 | * Didier Michel (developer)
17 | * Francesco Canovai (QA/testing)
18 | * Gabriele Bartolini (architect)
19 | * Gianni Ciolli (QA/testing)
20 | * Giulio Calacoci (developer)
21 | * Giuseppe Broccolo (developer)
22 | * Jane Threefoot (developer)
23 | * Jonathan Battiato (QA/testing)
24 | * Leonardo Cecchi (developer)
25 | * Marco Nenciarini (project leader)
26 | * Michael Wallace (developer)
27 | * Niccolò Fei (QA/testing)
28 | * Rubens Souza (QA/testing)
29 | * Stefano Bianucci (developer)
30 |
31 | Many thanks go to our sponsors (in alphabetical order):
32 |
33 | * 4Caast - http://4caast.morfeo-project.org/ (Founding sponsor)
34 | * Adyen - http://www.adyen.com/
35 | * Agile Business Group - http://www.agilebg.com/
36 | * BIJ12 - http://www.bij12.nl/
37 | * CSI Piemonte - http://www.csipiemonte.it/ (Founding sponsor)
38 | * Ecometer - http://www.ecometer.it/
39 | * GestionaleAuto - http://www.gestionaleauto.com/ (Founding sponsor)
40 | * Jobrapido - http://www.jobrapido.com/
41 | * Navionics - http://www.navionics.com/ (Founding sponsor)
42 | * Sovon Vogelonderzoek Nederland - https://www.sovon.nl/
43 | * Subito.it - http://www.subito.it/
44 | * XCon Internet Services - http://www.xcon.it/ (Founding sponsor)
45 |
--------------------------------------------------------------------------------
/INSTALL.md:
--------------------------------------------------------------------------------
1 | # Barman INSTALL instructions
2 |
3 | For further information, see the "Installation" section in the official manual of Barman.
4 |
--------------------------------------------------------------------------------
/MANIFEST.in:
--------------------------------------------------------------------------------
1 | recursive-include barman *.py
2 | recursive-include rpm *
3 | recursive-include docs/barman.d *
4 | include docs/barman.conf
5 | include scripts/barman.bash_completion
6 | include AUTHORS RELNOTES.md ChangeLog LICENSE MANIFEST.in setup.py INSTALL README.rst
7 |
--------------------------------------------------------------------------------
/README.rst:
--------------------------------------------------------------------------------
1 | Barman, Backup and Recovery Manager for PostgreSQL
2 | ==================================================
3 |
4 | This is the new (starting with version 2.13) home of Barman. It replaces
5 | the legacy sourceforge repository.
6 |
7 | Barman (Backup and Recovery Manager) is an open-source administration
8 | tool for disaster recovery of PostgreSQL servers written in Python. It
9 | allows your organisation to perform remote backups of multiple servers
10 | in business critical environments to reduce risk and help DBAs during
11 | the recovery phase.
12 |
13 | Barman is distributed under GNU GPL 3 and maintained by EnterpriseDB.
14 |
15 | For further information, look at the "Web resources" section below.
16 |
17 | Source content
18 | --------------
19 |
20 | Here you can find a description of files and directory distributed with
21 | Barman:
22 |
23 | - AUTHORS : development team of Barman
24 | - NEWS : release notes
25 | - ChangeLog : log of changes
26 | - LICENSE : GNU GPL3 details
27 | - TODO : our wishlist for Barman
28 | - barman : sources in Python
29 | - docs : tutorial and man pages
30 | - scripts : auxiliary scripts
31 | - tests : unit tests
32 |
33 | Web resources
34 | -------------
35 |
36 | - Website : http://www.pgbarman.org/
37 | - Download : http://github.com/EnterpriseDB/barman
38 | - Documentation : http://www.pgbarman.org/documentation/
39 | - Community support : http://www.pgbarman.org/support/
40 | - Professional support : https://www.enterprisedb.com/
41 | - pre barman 2.13 versions : https://sourceforge.net/projects/pgbarman/files/
42 |
43 | Licence
44 | -------
45 |
46 | © Copyright 2011-2025 EnterpriseDB UK Limited
47 |
48 | Barman is free software: you can redistribute it and/or modify it under
49 | the terms of the GNU General Public License as published by the Free
50 | Software Foundation, either version 3 of the License, or (at your
51 | option) any later version.
52 |
53 | Barman is distributed in the hope that it will be useful, but WITHOUT
54 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
55 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
56 | more details.
57 |
58 | You should have received a copy of the GNU General Public License along
59 | with Barman. If not, see http://www.gnu.org/licenses/.
60 |
--------------------------------------------------------------------------------
/TODO:
--------------------------------------------------------------------------------
1 | Barman TODO - Backlog of features for Barman
2 |
3 | * Cluster-awareness
4 | * TAR copy method
5 | * TAR storage strategy for backups
6 | * Centralised WAL hub capability (streaming server)
7 | * Export/Import of backups
8 | * External backup sources (e.g. S3)
9 | * Improve recovery support
10 | * Sandbox recovery
11 | * Logical backup integration (pg_dump on sandbox instances)
12 | * WAL retention policies
13 | * Grandfather-Father-Son backup
14 | * Deep Backup validation
15 | * SSH only connections
16 | * ...
17 |
--------------------------------------------------------------------------------
/barman/__init__.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # © Copyright EnterpriseDB UK Limited 2011-2025
3 | #
4 | # This file is part of Barman.
5 | #
6 | # Barman is free software: you can redistribute it and/or modify
7 | # it under the terms of the GNU General Public License as published by
8 | # the Free Software Foundation, either version 3 of the License, or
9 | # (at your option) any later version.
10 | #
11 | # Barman is distributed in the hope that it will be useful,
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | # GNU General Public License for more details.
15 | #
16 | # You should have received a copy of the GNU General Public License
17 | # along with Barman. If not, see .
18 |
19 | """
20 | The main Barman module
21 | """
22 |
23 | from __future__ import absolute_import
24 |
25 | from .version import __version__
26 |
27 | __config__ = None
28 |
29 | __all__ = ["__version__", "__config__"]
30 |
--------------------------------------------------------------------------------
/barman/clients/__init__.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # © Copyright EnterpriseDB UK Limited 2019-2025
3 | #
4 | # This file is part of Barman.
5 | #
6 | # Barman is free software: you can redistribute it and/or modify
7 | # it under the terms of the GNU General Public License as published by
8 | # the Free Software Foundation, either version 3 of the License, or
9 | # (at your option) any later version.
10 | #
11 | # Barman is distributed in the hope that it will be useful,
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | # GNU General Public License for more details.
15 | #
16 | # You should have received a copy of the GNU General Public License
17 | # along with Barman. If not, see .
18 |
--------------------------------------------------------------------------------
/barman/clients/cloud_backup_show.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # © Copyright EnterpriseDB UK Limited 2018-2025
3 | #
4 | # This file is part of Barman.
5 | #
6 | # Barman is free software: you can redistribute it and/or modify
7 | # it under the terms of the GNU General Public License as published by
8 | # the Free Software Foundation, either version 3 of the License, or
9 | # (at your option) any later version.
10 | #
11 | # Barman is distributed in the hope that it will be useful,
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | # GNU General Public License for more details.
15 | #
16 | # You should have received a copy of the GNU General Public License
17 | # along with Barman. If not, see .
18 |
19 | from __future__ import print_function
20 |
21 | import json
22 | import logging
23 | from contextlib import closing
24 |
25 | from barman.clients.cloud_cli import (
26 | GeneralErrorExit,
27 | NetworkErrorExit,
28 | OperationErrorExit,
29 | create_argument_parser,
30 | )
31 | from barman.cloud import CloudBackupCatalog, configure_logging
32 | from barman.cloud_providers import get_cloud_interface
33 | from barman.output import ConsoleOutputWriter
34 | from barman.utils import force_str
35 |
36 |
37 | def main(args=None):
38 | """
39 | The main script entry point
40 |
41 | :param list[str] args: the raw arguments list. When not provided
42 | it defaults to sys.args[1:]
43 | """
44 | config = parse_arguments(args)
45 | configure_logging(config)
46 |
47 | try:
48 | cloud_interface = get_cloud_interface(config)
49 |
50 | with closing(cloud_interface):
51 | catalog = CloudBackupCatalog(
52 | cloud_interface=cloud_interface, server_name=config.server_name
53 | )
54 |
55 | if not cloud_interface.test_connectivity():
56 | raise NetworkErrorExit()
57 | # If test is requested, just exit after connectivity test
58 | elif config.test:
59 | raise SystemExit(0)
60 |
61 | if not cloud_interface.bucket_exists:
62 | logging.error("Bucket %s does not exist", cloud_interface.bucket_name)
63 | raise OperationErrorExit()
64 |
65 | backup_id = catalog.parse_backup_id(config.backup_id)
66 | backup_info = catalog.get_backup_info(backup_id)
67 |
68 | if not backup_info:
69 | logging.error(
70 | "Backup %s for server %s does not exist",
71 | backup_id,
72 | config.server_name,
73 | )
74 | raise OperationErrorExit()
75 |
76 | # Output
77 | if config.format == "console":
78 | ConsoleOutputWriter.render_show_backup(backup_info.to_dict(), print)
79 | else:
80 | # Match the `barman show-backup` top level structure
81 | json_output = {backup_info.server_name: backup_info.to_json()}
82 | print(json.dumps(json_output))
83 |
84 | except Exception as exc:
85 | logging.error("Barman cloud backup show exception: %s", force_str(exc))
86 | logging.debug("Exception details:", exc_info=exc)
87 | raise GeneralErrorExit()
88 |
89 |
90 | def parse_arguments(args=None):
91 | """
92 | Parse command line arguments
93 |
94 | :param list[str] args: The raw arguments list
95 | :return: The options parsed
96 | """
97 |
98 | parser, _, _ = create_argument_parser(
99 | description="This script can be used to show metadata for backups "
100 | "made with barman-cloud-backup command. "
101 | "Currently AWS S3, Azure Blob Storage and Google Cloud Storage are supported.",
102 | )
103 | parser.add_argument("backup_id", help="the backup ID")
104 |
105 | parser.add_argument(
106 | "--format",
107 | default="console",
108 | help="Output format (console or json). Default console.",
109 | )
110 | return parser.parse_args(args=args)
111 |
112 |
113 | if __name__ == "__main__":
114 | main()
115 |
--------------------------------------------------------------------------------
/barman/clients/cloud_check_wal_archive.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # © Copyright EnterpriseDB UK Limited 2018-2025
3 | #
4 | # This file is part of Barman.
5 | #
6 | # Barman is free software: you can redistribute it and/or modify
7 | # it under the terms of the GNU General Public License as published by
8 | # the Free Software Foundation, either version 3 of the License, or
9 | # (at your option) any later version.
10 | #
11 | # Barman is distributed in the hope that it will be useful,
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | # GNU General Public License for more details.
15 | #
16 | # You should have received a copy of the GNU General Public License
17 | # along with Barman. If not, see .
18 |
19 | import logging
20 |
21 | from barman.clients.cloud_cli import (
22 | GeneralErrorExit,
23 | NetworkErrorExit,
24 | OperationErrorExit,
25 | UrlArgumentType,
26 | create_argument_parser,
27 | )
28 | from barman.cloud import CloudBackupCatalog, configure_logging
29 | from barman.cloud_providers import get_cloud_interface
30 | from barman.exceptions import WalArchiveContentError
31 | from barman.utils import check_positive, force_str
32 | from barman.xlog import check_archive_usable
33 |
34 |
35 | def main(args=None):
36 | """
37 | The main script entry point
38 |
39 | :param list[str] args: the raw arguments list. When not provided
40 | it defaults to sys.args[1:]
41 | """
42 | config = parse_arguments(args)
43 | configure_logging(config)
44 |
45 | try:
46 | cloud_interface = get_cloud_interface(config)
47 | if not cloud_interface.test_connectivity():
48 | # Deliberately raise an error if we cannot connect
49 | raise NetworkErrorExit()
50 | # If test is requested, just exit after connectivity test
51 | elif config.test:
52 | raise SystemExit(0)
53 | if not cloud_interface.bucket_exists:
54 | # If the bucket does not exist then the check should pass
55 | return
56 | catalog = CloudBackupCatalog(cloud_interface, config.server_name)
57 | wals = list(catalog.get_wal_paths().keys())
58 | check_archive_usable(
59 | wals,
60 | timeline=config.timeline,
61 | )
62 | except WalArchiveContentError as err:
63 | logging.error(
64 | "WAL archive check failed for server %s: %s",
65 | config.server_name,
66 | force_str(err),
67 | )
68 | raise OperationErrorExit()
69 | except Exception as exc:
70 | logging.error("Barman cloud WAL archive check exception: %s", force_str(exc))
71 | logging.debug("Exception details:", exc_info=exc)
72 | raise GeneralErrorExit()
73 |
74 |
75 | def parse_arguments(args=None):
76 | """
77 | Parse command line arguments
78 |
79 | :return: The options parsed
80 | """
81 |
82 | parser, _, _ = create_argument_parser(
83 | description="Checks that the WAL archive on the specified cloud storage "
84 | "can be safely used for a new PostgreSQL server.",
85 | source_or_destination=UrlArgumentType.destination,
86 | )
87 | parser.add_argument(
88 | "--timeline",
89 | help="The earliest timeline whose WALs should cause the check to fail",
90 | type=check_positive,
91 | )
92 | return parser.parse_args(args=args)
93 |
94 |
95 | if __name__ == "__main__":
96 | main()
97 |
--------------------------------------------------------------------------------
/barman/remote_status.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # © Copyright EnterpriseDB UK Limited 2011-2025
3 | #
4 | # This file is part of Barman.
5 | #
6 | # Barman is free software: you can redistribute it and/or modify
7 | # it under the terms of the GNU General Public License as published by
8 | # the Free Software Foundation, either version 3 of the License, or
9 | # (at your option) any later version.
10 | #
11 | # Barman is distributed in the hope that it will be useful,
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | # GNU General Public License for more details.
15 | #
16 | # You should have received a copy of the GNU General Public License
17 | # along with Barman. If not, see .
18 |
19 | """
20 | Remote Status module
21 |
22 | A Remote Status class implements a standard interface for
23 | retrieving and caching the results of a remote component
24 | (such as Postgres server, WAL archiver, etc.). It follows
25 | the Mixin pattern.
26 | """
27 |
28 | from abc import ABCMeta, abstractmethod
29 |
30 | from barman.utils import with_metaclass
31 |
32 |
33 | class RemoteStatusMixin(with_metaclass(ABCMeta, object)):
34 | """
35 | Abstract base class that implements remote status capabilities
36 | following the Mixin pattern.
37 | """
38 |
39 | def __init__(self, *args, **kwargs):
40 | """
41 | Base constructor (Mixin pattern)
42 | """
43 | self._remote_status = None
44 | super(RemoteStatusMixin, self).__init__(*args, **kwargs)
45 |
46 | @abstractmethod
47 | def fetch_remote_status(self):
48 | """
49 | Retrieve status information from the remote component
50 |
51 | The implementation of this method must not raise any exception in case
52 | of errors, but should set the missing values to None in the resulting
53 | dictionary.
54 |
55 | :rtype: dict[str, None|str]
56 | """
57 |
58 | def get_remote_status(self):
59 | """
60 | Get the status of the remote component
61 |
62 | This method does not raise any exception in case of errors,
63 | but set the missing values to None in the resulting dictionary.
64 |
65 | :rtype: dict[str, None|str]
66 | """
67 | if self._remote_status is None:
68 | self._remote_status = self.fetch_remote_status()
69 | return self._remote_status
70 |
71 | def reset_remote_status(self):
72 | """
73 | Reset the cached result
74 | """
75 | self._remote_status = None
76 |
--------------------------------------------------------------------------------
/barman/storage/__init__.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # © Copyright EnterpriseDB UK Limited 2013-2025
3 | #
4 | # This file is part of Barman.
5 | #
6 | # Barman is free software: you can redistribute it and/or modify
7 | # it under the terms of the GNU General Public License as published by
8 | # the Free Software Foundation, either version 3 of the License, or
9 | # (at your option) any later version.
10 | #
11 | # Barman is distributed in the hope that it will be useful,
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | # GNU General Public License for more details.
15 | #
16 | # You should have received a copy of the GNU General Public License
17 | # along with Barman. If not, see .
18 |
--------------------------------------------------------------------------------
/barman/storage/file_manager.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # © Copyright EnterpriseDB UK Limited 2013-2025
3 | #
4 | # This file is part of Barman.
5 | #
6 | # Barman is free software: you can redistribute it and/or modify
7 | # it under the terms of the GNU General Public License as published by
8 | # the Free Software Foundation, either version 3 of the License, or
9 | # (at your option) any later version.
10 | #
11 | # Barman is distributed in the hope that it will be useful,
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | # GNU General Public License for more details.
15 | #
16 | # You should have received a copy of the GNU General Public License
17 | # along with Barman. If not, see .
18 |
19 | from abc import ABCMeta, abstractmethod
20 |
21 | from barman.utils import with_metaclass
22 |
23 |
24 | class FileManager(with_metaclass(ABCMeta)):
25 | @abstractmethod
26 | def file_exist(self, file_path):
27 | """
28 | Tests if file exists
29 | :param file_path: File path
30 | :type file_path: string
31 |
32 | :return: True if file exists False otherwise
33 | :rtype: bool
34 | """
35 |
36 | @abstractmethod
37 | def get_file_stats(self, file_path):
38 | """
39 | Tests if file exists
40 | :param file_path: File path
41 | :type file_path: string
42 |
43 | :return:
44 | :rtype: FileStats
45 | """
46 |
47 | @abstractmethod
48 | def get_file_list(self, path):
49 | """
50 | List all files within a path, including subdirectories
51 | :param path: Path to analyze
52 | :type path: string
53 | :return: List of file path
54 | :rtype: list
55 | """
56 |
57 | @abstractmethod
58 | def get_file_content(self, file_path, file_mode="rb"):
59 | """ """
60 |
61 | @abstractmethod
62 | def save_content_to_file(self, file_path, content, file_mode="wb"):
63 | """ """
64 |
--------------------------------------------------------------------------------
/barman/storage/file_stats.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # © Copyright EnterpriseDB UK Limited 2013-2025
3 | #
4 | # This file is part of Barman.
5 | #
6 | # Barman is free software: you can redistribute it and/or modify
7 | # it under the terms of the GNU General Public License as published by
8 | # the Free Software Foundation, either version 3 of the License, or
9 | # (at your option) any later version.
10 | #
11 | # Barman is distributed in the hope that it will be useful,
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | # GNU General Public License for more details.
15 | #
16 | # You should have received a copy of the GNU General Public License
17 | # along with Barman. If not, see .
18 |
19 | from datetime import datetime
20 |
21 | try:
22 | from datetime import timezone
23 |
24 | utc = timezone.utc
25 | except ImportError:
26 | # python 2.7 compatibility
27 | from dateutil import tz
28 |
29 | utc = tz.tzutc()
30 |
31 |
32 | class FileStats:
33 | def __init__(self, size, last_modified):
34 | """
35 | Arbitrary timezone set to UTC. There is probably possible improvement here.
36 | :param size: file size in bytes
37 | :type size: int
38 | :param last_modified: Time of last modification in seconds
39 | :type last_modified: int
40 | """
41 | self.size = size
42 | self.last_modified = datetime.fromtimestamp(last_modified, tz=utc)
43 |
44 | def get_size(self):
45 | """ """
46 | return self.size
47 |
48 | def get_last_modified(self, datetime_format="%Y-%m-%d %H:%M:%S"):
49 | """
50 | :param datetime_format: Format to apply on datetime object
51 | :type datetime_format: str
52 | """
53 | return self.last_modified.strftime(datetime_format)
54 |
--------------------------------------------------------------------------------
/barman/storage/local_file_manager.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # © Copyright EnterpriseDB UK Limited 2013-2025
3 | #
4 | # This file is part of Barman.
5 | #
6 | # Barman is free software: you can redistribute it and/or modify
7 | # it under the terms of the GNU General Public License as published by
8 | # the Free Software Foundation, either version 3 of the License, or
9 | # (at your option) any later version.
10 | #
11 | # Barman is distributed in the hope that it will be useful,
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | # GNU General Public License for more details.
15 | #
16 | # You should have received a copy of the GNU General Public License
17 | # along with Barman. If not, see .
18 |
19 | import os
20 |
21 | from .file_manager import FileManager
22 | from .file_stats import FileStats
23 |
24 |
25 | class LocalFileManager(FileManager):
26 | def file_exist(self, file_path):
27 | """
28 | Tests if file exists
29 | :param file_path: File path
30 | :type file_path: string
31 |
32 | :return: True if file exists False otherwise
33 | :rtype: bool
34 | """
35 | return os.path.isfile(file_path)
36 |
37 | def get_file_stats(self, file_path):
38 | """
39 | Tests if file exists
40 | :param file_path: File path
41 | :type file_path: string
42 |
43 | :return:
44 | :rtype: FileStats
45 | """
46 | if not self.file_exist(file_path):
47 | raise IOError("Missing file " + file_path)
48 | sts = os.stat(file_path)
49 | return FileStats(sts.st_size, sts.st_mtime)
50 |
51 | def get_file_list(self, path):
52 | """
53 | List all files within a path, including subdirectories
54 | :param path: Path to analyze
55 | :type path: string
56 | :return: List of file path
57 | :rtype: list
58 | """
59 | if not os.path.isdir(path):
60 | raise NotADirectoryError(path)
61 | file_list = []
62 | for root, dirs, files in os.walk(path):
63 | file_list.extend(
64 | list(map(lambda x, prefix=root: os.path.join(prefix, x), files))
65 | )
66 | return file_list
67 |
68 | def get_file_content(self, file_path, file_mode="rb"):
69 | with open(file_path, file_mode) as reader:
70 | content = reader.read()
71 | return content
72 |
73 | def save_content_to_file(self, file_path, content, file_mode="wb"):
74 | """ """
75 | with open(file_path, file_mode) as writer:
76 | writer.write(content)
77 |
--------------------------------------------------------------------------------
/barman/version.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # © Copyright EnterpriseDB UK Limited 2011-2025
3 | #
4 | # This file is part of Barman.
5 | #
6 | # Barman is free software: you can redistribute it and/or modify
7 | # it under the terms of the GNU General Public License as published by
8 | # the Free Software Foundation, either version 3 of the License, or
9 | # (at your option) any later version.
10 | #
11 | # Barman is distributed in the hope that it will be useful,
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | # GNU General Public License for more details.
15 | #
16 | # You should have received a copy of the GNU General Public License
17 | # along with Barman. If not, see .
18 |
19 | """
20 | This module contains the current Barman version.
21 | """
22 |
23 | __version__ = "3.14.0"
24 |
--------------------------------------------------------------------------------
/docs/Dockerfile:
--------------------------------------------------------------------------------
1 | # This Dockerfile resides in this path because it is the source docker image to build the
2 | # documentation via github actions. There is no other use for it.
3 |
4 | # Use Debian as the base image
5 | FROM debian:latest
6 |
7 | # Switch to the root user
8 | USER root
9 |
10 | # Install necessary dependencies for Sphinx
11 | RUN set -x \
12 | && apt-get update \
13 | && DEBIAN_FRONTEND=noninteractive apt-get install -y -o Acquire::Retries=10 --no-install-recommends \
14 | build-essential \
15 | libpq-dev \
16 | python3 \
17 | python3-dev \
18 | python3-venv \
19 | python3-pip \
20 | python3-setuptools \
21 | python3-sphinx \
22 | latexmk \
23 | tex-common \
24 | tex-gyre \
25 | texlive-base \
26 | texlive-binaries \
27 | texlive-fonts-recommended \
28 | texlive-latex-base \
29 | texlive-latex-extra \
30 | texlive-latex-recommended \
31 | texlive-pictures \
32 | texlive-plain-generic \
33 | git \
34 | && apt-get clean \
35 | && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
36 |
37 | # Set sphinx version
38 |
39 | # Create virtual env to install python dependencies
40 | RUN python3 -m venv /opt/venv
41 |
42 | # Add virtual env bin path to PATH
43 | ENV PATH="/opt/venv/bin:$PATH"
44 |
45 | # Install Sphinx and any additional Python dependencies
46 | # We need to pin pip to 25.0.1 because of the following pip issue:
47 | # https://github.com/jazzband/pip-tools/issues/2176
48 | RUN pip3 install --upgrade pip==25.0.1 \
49 | && pip3 install tox
50 |
--------------------------------------------------------------------------------
/docs/Makefile:
--------------------------------------------------------------------------------
1 | # Minimal makefile for Sphinx documentation
2 | #
3 |
4 | # You can set these variables from the command line, and also
5 | # from the environment for the first two.
6 | SPHINXOPTS ?=
7 | SPHINXBUILD ?= sphinx-build
8 | SOURCEDIR = .
9 | BUILDDIR = _build
10 |
11 | # Put it first so that "make" without argument is like "make help".
12 | help:
13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14 |
15 | .PHONY: help Makefile
16 |
17 | # Catch-all target: route all unknown targets to Sphinx using the new
18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19 | %: Makefile
20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
21 |
--------------------------------------------------------------------------------
/docs/README.md:
--------------------------------------------------------------------------------
1 | # User documentation and man pages
2 |
3 | The user documentation and the man pages for Barman are built using Sphinx.
4 | All the docs content and the configuration for Sphinx are found inside the `docs`
5 | directory.
6 |
7 | There is an automation through tox to build the docs, which takes care of
8 | installing all the required Python modules.
9 |
10 | From the root directory, install the dependencies of tox:
11 |
12 | ```bash
13 | pip install -r requirements-tox.txt
14 | ```
15 |
16 | Then, to generate the docs you can just use the tox environment `docs`:
17 |
18 | * For HTML docs:
19 |
20 | ```bash
21 | tox -e docs -- html
22 | ```
23 |
24 | * For man pages:
25 |
26 | ```bash
27 | tox -e docs -- man
28 | ```
29 |
30 | * For PDF docs:
31 |
32 | ```bash
33 | tox -e docs -- latexpdf
34 | ```
35 |
36 | Once the build finishes, you can read the built documentation:
37 |
38 | * For HTML docs: open `docs/_build/html/index.html` with your web browser;
39 | * For man pages: run `man docs/_build/man/barman.1`;
40 | * For PDF docs: open `docs/_build/latex/Barman.pdf` with your PDF reader.
41 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-archive-wal.1:
--------------------------------------------------------------------------------
1 | .\" Man page generated from reStructuredText.
2 | .
3 | .
4 | .nr rst2man-indent-level 0
5 | .
6 | .de1 rstReportMargin
7 | \\$1 \\n[an-margin]
8 | level \\n[rst2man-indent-level]
9 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
10 | -
11 | \\n[rst2man-indent0]
12 | \\n[rst2man-indent1]
13 | \\n[rst2man-indent2]
14 | ..
15 | .de1 INDENT
16 | .\" .rstReportMargin pre:
17 | . RS \\$1
18 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
19 | . nr rst2man-indent-level +1
20 | .\" .rstReportMargin post:
21 | ..
22 | .de UNINDENT
23 | . RE
24 | .\" indent \\n[an-margin]
25 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
26 | .nr rst2man-indent-level -1
27 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29 | ..
30 | .TH "BARMAN-ARCHIVE-WAL" "1" "May 15, 2024" "3.14" "Barman"
31 | .SH NAME
32 | barman-archive-wal \- Barman Sub-Commands
33 | .SH SYNOPSIS
34 | .INDENT 0.0
35 | .INDENT 3.5
36 | .sp
37 | .EX
38 | archive\-wal
39 | [ { \-h | \-\-help } ]
40 | SERVER_NAME
41 | .EE
42 | .UNINDENT
43 | .UNINDENT
44 | .SH DESCRIPTION
45 | .sp
46 | Fetch WAL files received from either the standard \fBarchive_command\fP or streaming
47 | replication with \fBpg_receivewal\fP and store them in the server\(aqs WAL archive. If you
48 | have enabled \fBcompression\fP in the configuration file, the WAL files will be compressed
49 | before they are archived.
50 | .SH PARAMETERS
51 | .INDENT 0.0
52 | .TP
53 | .B \fBSERVER_NAME\fP
54 | Name of the server in barman node.
55 | .TP
56 | .B \fB\-h\fP / \fB\-\-help\fP
57 | Show a help message and exit. Provides information about command usage.
58 | .UNINDENT
59 | .SH AUTHOR
60 | EnterpriseDB
61 | .SH COPYRIGHT
62 | © Copyright EnterpriseDB UK Limited 2011-2025
63 | .\" Generated by docutils manpage writer.
64 | .
65 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-check-backup.1:
--------------------------------------------------------------------------------
1 | '\" t
2 | .\" Man page generated from reStructuredText.
3 | .
4 | .
5 | .nr rst2man-indent-level 0
6 | .
7 | .de1 rstReportMargin
8 | \\$1 \\n[an-margin]
9 | level \\n[rst2man-indent-level]
10 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
11 | -
12 | \\n[rst2man-indent0]
13 | \\n[rst2man-indent1]
14 | \\n[rst2man-indent2]
15 | ..
16 | .de1 INDENT
17 | .\" .rstReportMargin pre:
18 | . RS \\$1
19 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
20 | . nr rst2man-indent-level +1
21 | .\" .rstReportMargin post:
22 | ..
23 | .de UNINDENT
24 | . RE
25 | .\" indent \\n[an-margin]
26 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
27 | .nr rst2man-indent-level -1
28 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
29 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
30 | ..
31 | .TH "BARMAN-CHECK-BACKUP" "1" "May 15, 2024" "3.14" "Barman"
32 | .SH NAME
33 | barman-check-backup \- Barman Sub-Commands
34 | .SH SYNOPSIS
35 | .INDENT 0.0
36 | .INDENT 3.5
37 | .sp
38 | .EX
39 | check\-backup
40 | [ { \-h | \-\-help } ]
41 | SERVER_NAME BACKUP_ID
42 | .EE
43 | .UNINDENT
44 | .UNINDENT
45 | .SH DESCRIPTION
46 | .sp
47 | Check that all necessary WAL files for verifying the consistency of a physical backup are
48 | properly archived. This command is automatically executed by the cron job and at the end
49 | of each backup operation. You can use a shortcut instead of \fBBACKUP_ID\fP\&.
50 | .SH PARAMETERS
51 | .INDENT 0.0
52 | .TP
53 | .B \fBSERVER_NAME\fP
54 | Name of the server in barman node.
55 | .TP
56 | .B \fBBACKUP_ID\fP
57 | Id of the backup in barman catalog.
58 | .TP
59 | .B \fB\-h\fP / \fB\-\-help\fP
60 | Show a help message and exit. Provides information about command usage.
61 | .UNINDENT
62 | .SH SHORTCUTS
63 | .sp
64 | Use shortcuts instead of \fBBACKUP_ID\fP\&.
65 | .TS
66 | box center;
67 | l|l.
68 | T{
69 | \fBShortcut\fP
70 | T} T{
71 | \fBDescription\fP
72 | T}
73 | _
74 | T{
75 | \fBfirst/oldest\fP
76 | T} T{
77 | Oldest available backup for the server, in chronological order.
78 | T}
79 | _
80 | T{
81 | \fBlast/latest\fP
82 | T} T{
83 | Most recent available backup for the server, in chronological order.
84 | T}
85 | _
86 | T{
87 | \fBlast\-full/latest\-full\fP
88 | T} T{
89 | Most recent full backup taken with methods \fBrsync\fP or \fBpostgres\fP\&.
90 | T}
91 | _
92 | T{
93 | \fBlast\-failed\fP
94 | T} T{
95 | Most recent backup that failed, in chronological order.
96 | T}
97 | .TE
98 | .SH AUTHOR
99 | EnterpriseDB
100 | .SH COPYRIGHT
101 | © Copyright EnterpriseDB UK Limited 2011-2025
102 | .\" Generated by docutils manpage writer.
103 | .
104 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-check.1:
--------------------------------------------------------------------------------
1 | '\" t
2 | .\" Man page generated from reStructuredText.
3 | .
4 | .
5 | .nr rst2man-indent-level 0
6 | .
7 | .de1 rstReportMargin
8 | \\$1 \\n[an-margin]
9 | level \\n[rst2man-indent-level]
10 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
11 | -
12 | \\n[rst2man-indent0]
13 | \\n[rst2man-indent1]
14 | \\n[rst2man-indent2]
15 | ..
16 | .de1 INDENT
17 | .\" .rstReportMargin pre:
18 | . RS \\$1
19 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
20 | . nr rst2man-indent-level +1
21 | .\" .rstReportMargin post:
22 | ..
23 | .de UNINDENT
24 | . RE
25 | .\" indent \\n[an-margin]
26 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
27 | .nr rst2man-indent-level -1
28 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
29 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
30 | ..
31 | .TH "BARMAN-CHECK" "1" "May 15, 2024" "3.14" "Barman"
32 | .SH NAME
33 | barman-check \- Barman Sub-Commands
34 | .SH SYNOPSIS
35 | .INDENT 0.0
36 | .INDENT 3.5
37 | .sp
38 | .EX
39 | check
40 | [ { \-h | \-\-help } ]
41 | [ \-\-nagios ]
42 | SERVER_NAME [ SERVER_NAME ... ]
43 | .EE
44 | .UNINDENT
45 | .UNINDENT
46 | .SH DESCRIPTION
47 | .sp
48 | Display status information about a server, such as SSH connection, Postgres version,
49 | configuration and backup directories, archiving and streaming processes, replication
50 | slots, and more. Use \fBall\fP as shortcut to show diagnostic information for all
51 | configured servers.
52 | .SH PARAMETERS
53 | .INDENT 0.0
54 | .TP
55 | .B \fBSERVER_NAME\fP
56 | Name of the server in barman node.
57 | .TP
58 | .B \fB\-h\fP / \fB\-\-help\fP
59 | Show a help message and exit. Provides information about command usage.
60 | .TP
61 | .B \fB\-\-nagios\fP
62 | Nagios plugin compatible output.
63 | .UNINDENT
64 | .SH SHORTCUTS
65 | .sp
66 | Use shortcuts instead of \fBSERVER_NAME\fP\&.
67 | .TS
68 | box center;
69 | l|l.
70 | T{
71 | \fBShortcut\fP
72 | T} T{
73 | \fBDescription\fP
74 | T}
75 | _
76 | T{
77 | \fBall\fP
78 | T} T{
79 | All available servers
80 | T}
81 | .TE
82 | .SH AUTHOR
83 | EnterpriseDB
84 | .SH COPYRIGHT
85 | © Copyright EnterpriseDB UK Limited 2011-2025
86 | .\" Generated by docutils manpage writer.
87 | .
88 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-config-switch.1:
--------------------------------------------------------------------------------
1 | .\" Man page generated from reStructuredText.
2 | .
3 | .
4 | .nr rst2man-indent-level 0
5 | .
6 | .de1 rstReportMargin
7 | \\$1 \\n[an-margin]
8 | level \\n[rst2man-indent-level]
9 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
10 | -
11 | \\n[rst2man-indent0]
12 | \\n[rst2man-indent1]
13 | \\n[rst2man-indent2]
14 | ..
15 | .de1 INDENT
16 | .\" .rstReportMargin pre:
17 | . RS \\$1
18 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
19 | . nr rst2man-indent-level +1
20 | .\" .rstReportMargin post:
21 | ..
22 | .de UNINDENT
23 | . RE
24 | .\" indent \\n[an-margin]
25 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
26 | .nr rst2man-indent-level -1
27 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29 | ..
30 | .TH "BARMAN-CONFIG-SWITCH" "1" "May 15, 2024" "3.14" "Barman"
31 | .SH NAME
32 | barman-config-switch \- Barman Sub-Commands
33 | .SH SYNOPSIS
34 | .INDENT 0.0
35 | .INDENT 3.5
36 | .sp
37 | .EX
38 | config\-switch
39 | [ { \-h | \-\-help } ]
40 | SERVER_NAME { \-\-reset | MODEL_NAME }
41 | .EE
42 | .UNINDENT
43 | .UNINDENT
44 | .SH DESCRIPTION
45 | .sp
46 | Apply a set of configuration overrides from the model to a server in Barman. The final
47 | configuration will combine or override the server\(aqs existing settings with the ones
48 | specified in the model. You can reset the server configurations with the \fB\-\-reset\fP
49 | argument.
50 | .sp
51 | \fBNOTE:\fP
52 | .INDENT 0.0
53 | .INDENT 3.5
54 | Only one model can be active at a time for a given server.
55 | .UNINDENT
56 | .UNINDENT
57 | .SH PARAMETERS
58 | .INDENT 0.0
59 | .TP
60 | .B \fBSERVER_NAME\fP
61 | Name of the server in barman node.
62 | .TP
63 | .B \fBMODEL_NAME\fP
64 | Name of the model.
65 | .TP
66 | .B \fB\-h\fP / \fB\-\-help\fP
67 | Show a help message and exit. Provides information about command usage.
68 | .TP
69 | .B \fB\-\-reset\fP
70 | Reset the server\(aqs configurations.
71 | .UNINDENT
72 | .SH AUTHOR
73 | EnterpriseDB
74 | .SH COPYRIGHT
75 | © Copyright EnterpriseDB UK Limited 2011-2025
76 | .\" Generated by docutils manpage writer.
77 | .
78 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-config-update.1:
--------------------------------------------------------------------------------
1 | .\" Man page generated from reStructuredText.
2 | .
3 | .
4 | .nr rst2man-indent-level 0
5 | .
6 | .de1 rstReportMargin
7 | \\$1 \\n[an-margin]
8 | level \\n[rst2man-indent-level]
9 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
10 | -
11 | \\n[rst2man-indent0]
12 | \\n[rst2man-indent1]
13 | \\n[rst2man-indent2]
14 | ..
15 | .de1 INDENT
16 | .\" .rstReportMargin pre:
17 | . RS \\$1
18 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
19 | . nr rst2man-indent-level +1
20 | .\" .rstReportMargin post:
21 | ..
22 | .de UNINDENT
23 | . RE
24 | .\" indent \\n[an-margin]
25 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
26 | .nr rst2man-indent-level -1
27 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29 | ..
30 | .TH "BARMAN-CONFIG-UPDATE" "1" "May 15, 2024" "3.14" "Barman"
31 | .SH NAME
32 | barman-config-update \- Barman Sub-Commands
33 | .SH SYNOPSIS
34 | .INDENT 0.0
35 | .INDENT 3.5
36 | .sp
37 | .EX
38 | config\-update
39 | [ { \-h | \-\-help } ]
40 | STRING
41 | .EE
42 | .UNINDENT
43 | .UNINDENT
44 | .SH DESCRIPTION
45 | .sp
46 | Create or update the configurations for servers and/or models in Barman. The parameter
47 | should be a JSON string containing an array of documents. Each document must include a
48 | \fBscope\fP key, which can be either server or model, and either a \fBserver_name\fP or
49 | \fBmodel_name\fP key, depending on the scope value. Additionally, the document should
50 | include other keys representing Barman configuration options and their desired values.
51 | .sp
52 | \fBNOTE:\fP
53 | .INDENT 0.0
54 | .INDENT 3.5
55 | The barman \fBconfig\-update\fP command writes configuration options to a file named
56 | \fB\&.barman.auto.conf\fP, located in the \fBbarman_home\fP directory. This configuration
57 | file has higher precedence and will override values from the global Barman
58 | configuration file (usually \fB/etc/barman.conf\fP) and from any included files specified
59 | in \fBconfiguration_files_directory\fP (typically files in \fB/etc/barman.d\fP). Be aware
60 | of this if you decide to manually modify configuration options in those files later.
61 | .UNINDENT
62 | .UNINDENT
63 | .SH PARAMETERS
64 | .INDENT 0.0
65 | .TP
66 | .B \fBSTRING\fP
67 | List of JSON formatted string.
68 | .TP
69 | .B \fB\-h\fP / \fB\-\-help\fP
70 | Show a help message and exit. Provides information about command usage.
71 | .UNINDENT
72 | .SH EXAMPLE
73 | .sp
74 | \fBJSON_STRING=\(aq[{“scope”: “server”, “server_name”: “my_server”, “archiver”:
75 | “on”, “streaming_archiver”: “off”}]\(aq\fP
76 | .SH AUTHOR
77 | EnterpriseDB
78 | .SH COPYRIGHT
79 | © Copyright EnterpriseDB UK Limited 2011-2025
80 | .\" Generated by docutils manpage writer.
81 | .
82 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-cron.1:
--------------------------------------------------------------------------------
1 | .\" Man page generated from reStructuredText.
2 | .
3 | .
4 | .nr rst2man-indent-level 0
5 | .
6 | .de1 rstReportMargin
7 | \\$1 \\n[an-margin]
8 | level \\n[rst2man-indent-level]
9 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
10 | -
11 | \\n[rst2man-indent0]
12 | \\n[rst2man-indent1]
13 | \\n[rst2man-indent2]
14 | ..
15 | .de1 INDENT
16 | .\" .rstReportMargin pre:
17 | . RS \\$1
18 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
19 | . nr rst2man-indent-level +1
20 | .\" .rstReportMargin post:
21 | ..
22 | .de UNINDENT
23 | . RE
24 | .\" indent \\n[an-margin]
25 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
26 | .nr rst2man-indent-level -1
27 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29 | ..
30 | .TH "BARMAN-CRON" "1" "May 15, 2024" "3.14" "Barman"
31 | .SH NAME
32 | barman-cron \- Barman Sub-Commands
33 | .SH SYNOPSIS
34 | .INDENT 0.0
35 | .INDENT 3.5
36 | .sp
37 | .EX
38 | cron
39 | [ { \-h | \-\-help } ]
40 | [ \-\-keep\-descriptors ]
41 | .EE
42 | .UNINDENT
43 | .UNINDENT
44 | .SH DESCRIPTION
45 | .sp
46 | Carry out maintenance tasks, such as enforcing retention policies or managing WAL files.
47 | .SH PARAMETERS
48 | .INDENT 0.0
49 | .TP
50 | .B \fB\-h\fP / \fB\-\-help\fP
51 | Show a help message and exit. Provides information about command usage.
52 | .TP
53 | .B \fB\-\-keep\-descriptors\fP
54 | Keep the ^stdout^ and ^stderr^ streams of the Barman subprocesses connected to the
55 | main process. This is especially useful for Docker\-based installations.
56 | .UNINDENT
57 | .SH AUTHOR
58 | EnterpriseDB
59 | .SH COPYRIGHT
60 | © Copyright EnterpriseDB UK Limited 2011-2025
61 | .\" Generated by docutils manpage writer.
62 | .
63 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-delete.1:
--------------------------------------------------------------------------------
1 | '\" t
2 | .\" Man page generated from reStructuredText.
3 | .
4 | .
5 | .nr rst2man-indent-level 0
6 | .
7 | .de1 rstReportMargin
8 | \\$1 \\n[an-margin]
9 | level \\n[rst2man-indent-level]
10 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
11 | -
12 | \\n[rst2man-indent0]
13 | \\n[rst2man-indent1]
14 | \\n[rst2man-indent2]
15 | ..
16 | .de1 INDENT
17 | .\" .rstReportMargin pre:
18 | . RS \\$1
19 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
20 | . nr rst2man-indent-level +1
21 | .\" .rstReportMargin post:
22 | ..
23 | .de UNINDENT
24 | . RE
25 | .\" indent \\n[an-margin]
26 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
27 | .nr rst2man-indent-level -1
28 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
29 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
30 | ..
31 | .TH "BARMAN-DELETE" "1" "May 15, 2024" "3.14" "Barman"
32 | .SH NAME
33 | barman-delete \- Barman Sub-Commands
34 | .SH SYNOPSIS
35 | .INDENT 0.0
36 | .INDENT 3.5
37 | .sp
38 | .EX
39 | delete
40 | [ { \-h | \-\-help } ]
41 | SERVER_NAME BACKUP_ID
42 | .EE
43 | .UNINDENT
44 | .UNINDENT
45 | .SH DESCRIPTION
46 | .sp
47 | Delete the specified backup. You can use a shortcut instead of \fBBACKUP_ID\fP\&.
48 | .SH PARAMETERS
49 | .INDENT 0.0
50 | .TP
51 | .B \fBSERVER_NAME\fP
52 | Name of the server in barman node
53 | .TP
54 | .B \fBBACKUP_ID\fP
55 | Id of the backup in barman catalog.
56 | .TP
57 | .B \fB\-h\fP / \fB\-\-help\fP
58 | Show a help message and exit. Provides information about command usage.
59 | .UNINDENT
60 | .SH SHORTCUTS
61 | .sp
62 | Use shortcuts instead of \fBBACKUP_ID\fP\&.
63 | .TS
64 | box center;
65 | l|l.
66 | T{
67 | \fBShortcut\fP
68 | T} T{
69 | \fBDescription\fP
70 | T}
71 | _
72 | T{
73 | \fBfirst/oldest\fP
74 | T} T{
75 | Oldest available backup for the server, in chronological order.
76 | T}
77 | _
78 | T{
79 | \fBlast/latest\fP
80 | T} T{
81 | Most recent available backup for the server, in chronological order.
82 | T}
83 | _
84 | T{
85 | \fBlast\-full/latest\-full\fP
86 | T} T{
87 | Most recent full backup taken with methods \fBrsync\fP or \fBpostgres\fP\&.
88 | T}
89 | _
90 | T{
91 | \fBlast\-failed\fP
92 | T} T{
93 | Most recent backup that failed, in chronological order.
94 | T}
95 | .TE
96 | .SH AUTHOR
97 | EnterpriseDB
98 | .SH COPYRIGHT
99 | © Copyright EnterpriseDB UK Limited 2011-2025
100 | .\" Generated by docutils manpage writer.
101 | .
102 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-diagnose.1:
--------------------------------------------------------------------------------
1 | .\" Man page generated from reStructuredText.
2 | .
3 | .
4 | .nr rst2man-indent-level 0
5 | .
6 | .de1 rstReportMargin
7 | \\$1 \\n[an-margin]
8 | level \\n[rst2man-indent-level]
9 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
10 | -
11 | \\n[rst2man-indent0]
12 | \\n[rst2man-indent1]
13 | \\n[rst2man-indent2]
14 | ..
15 | .de1 INDENT
16 | .\" .rstReportMargin pre:
17 | . RS \\$1
18 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
19 | . nr rst2man-indent-level +1
20 | .\" .rstReportMargin post:
21 | ..
22 | .de UNINDENT
23 | . RE
24 | .\" indent \\n[an-margin]
25 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
26 | .nr rst2man-indent-level -1
27 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29 | ..
30 | .TH "BARMAN-DIAGNOSE" "1" "May 15, 2024" "3.14" "Barman"
31 | .SH NAME
32 | barman-diagnose \- Barman Sub-Commands
33 | .SH SYNOPSIS
34 | .INDENT 0.0
35 | .INDENT 3.5
36 | .sp
37 | .EX
38 | diagnose
39 | [ { \-h | \-\-help } ]
40 | [ \-\-show\-config\-source ]
41 | .EE
42 | .UNINDENT
43 | .UNINDENT
44 | .SH DESCRIPTION
45 | .sp
46 | Display diagnostic information about the Barman node, which is the server where Barman
47 | is installed, as well as all configured Postgres servers. This includes details such as
48 | global configuration, SSH version, Python version, rsync version, the current
49 | configuration and status of all servers, and many more.
50 | .SH PARAMETERS
51 | .INDENT 0.0
52 | .TP
53 | .B \fB\-h\fP / \fB\-\-help\fP
54 | Show a help message and exit. Provides information about command usage.
55 | .TP
56 | .B \fB\-\-show\-config\-source\fP
57 | Include the source file which provides the effective value for each configuration
58 | option.
59 | .UNINDENT
60 | .SH AUTHOR
61 | EnterpriseDB
62 | .SH COPYRIGHT
63 | © Copyright EnterpriseDB UK Limited 2011-2025
64 | .\" Generated by docutils manpage writer.
65 | .
66 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-generate-manifest.1:
--------------------------------------------------------------------------------
1 | '\" t
2 | .\" Man page generated from reStructuredText.
3 | .
4 | .
5 | .nr rst2man-indent-level 0
6 | .
7 | .de1 rstReportMargin
8 | \\$1 \\n[an-margin]
9 | level \\n[rst2man-indent-level]
10 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
11 | -
12 | \\n[rst2man-indent0]
13 | \\n[rst2man-indent1]
14 | \\n[rst2man-indent2]
15 | ..
16 | .de1 INDENT
17 | .\" .rstReportMargin pre:
18 | . RS \\$1
19 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
20 | . nr rst2man-indent-level +1
21 | .\" .rstReportMargin post:
22 | ..
23 | .de UNINDENT
24 | . RE
25 | .\" indent \\n[an-margin]
26 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
27 | .nr rst2man-indent-level -1
28 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
29 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
30 | ..
31 | .TH "BARMAN-GENERATE-MANIFEST" "1" "May 15, 2024" "3.14" "Barman"
32 | .SH NAME
33 | barman-generate-manifest \- Barman Sub-Commands
34 | .SH SYNOPSIS
35 | .INDENT 0.0
36 | .INDENT 3.5
37 | .sp
38 | .EX
39 | generate\-manifest
40 | [ { \-h | \-\-help } ]
41 | SERVER_NAME BACKUP_ID
42 | .EE
43 | .UNINDENT
44 | .UNINDENT
45 | .SH DESCRIPTION
46 | .sp
47 | Generates a \fBbackup_manifest\fP file for a backup. You can use a shortcut instead of
48 | \fBBACKUP_ID\fP\&.
49 | .SH PARAMETERS
50 | .INDENT 0.0
51 | .TP
52 | .B \fBSERVER_NAME\fP
53 | Name of the server in barman node
54 | .TP
55 | .B \fBBACKUP_ID\fP
56 | Id of the backup in barman catalog.
57 | .TP
58 | .B \fB\-h\fP / \fB\-\-help\fP
59 | Show a help message and exit. Provides information about command usage.
60 | .UNINDENT
61 | .SH SHORTCUTS
62 | .sp
63 | Use shortcuts instead of \fBBACKUP_ID\fP\&.
64 | .TS
65 | box center;
66 | l|l.
67 | T{
68 | \fBShortcut\fP
69 | T} T{
70 | \fBDescription\fP
71 | T}
72 | _
73 | T{
74 | \fBfirst/oldest\fP
75 | T} T{
76 | Oldest available backup for the server, in chronological order.
77 | T}
78 | _
79 | T{
80 | \fBlast/latest\fP
81 | T} T{
82 | Most recent available backup for the server, in chronological order.
83 | T}
84 | _
85 | T{
86 | \fBlast\-full/latest\-full\fP
87 | T} T{
88 | Most recent full backup taken with methods \fBrsync\fP or \fBpostgres\fP\&.
89 | T}
90 | _
91 | T{
92 | \fBlast\-failed\fP
93 | T} T{
94 | Most recent backup that failed, in chronological order.
95 | T}
96 | .TE
97 | .SH AUTHOR
98 | EnterpriseDB
99 | .SH COPYRIGHT
100 | © Copyright EnterpriseDB UK Limited 2011-2025
101 | .\" Generated by docutils manpage writer.
102 | .
103 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-get-wal.1:
--------------------------------------------------------------------------------
1 | .\" Man page generated from reStructuredText.
2 | .
3 | .
4 | .nr rst2man-indent-level 0
5 | .
6 | .de1 rstReportMargin
7 | \\$1 \\n[an-margin]
8 | level \\n[rst2man-indent-level]
9 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
10 | -
11 | \\n[rst2man-indent0]
12 | \\n[rst2man-indent1]
13 | \\n[rst2man-indent2]
14 | ..
15 | .de1 INDENT
16 | .\" .rstReportMargin pre:
17 | . RS \\$1
18 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
19 | . nr rst2man-indent-level +1
20 | .\" .rstReportMargin post:
21 | ..
22 | .de UNINDENT
23 | . RE
24 | .\" indent \\n[an-margin]
25 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
26 | .nr rst2man-indent-level -1
27 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29 | ..
30 | .TH "BARMAN-GET-WAL" "1" "May 15, 2024" "3.14" "Barman"
31 | .SH NAME
32 | barman-get-wal \- Barman Sub-Commands
33 | .SH SYNOPSIS
34 | .INDENT 0.0
35 | .INDENT 3.5
36 | .sp
37 | .EX
38 | get\-wal
39 | [ { \-\-bzip | \-j } ]
40 | [ { \-\-gzip | \-z | \-x } ]
41 | [ { \-h | \-\-help } ]
42 | [ \-\-keep\-compression ]
43 | [ { \-\-output\-directory | \-o } OUTPUT_DIRECTORY ]
44 | [ { \-\-peek | \-p } VALUE ]
45 | [ { \-P | \-\-partial } ]
46 | [ { \-t | \-\-test } ]
47 | SERVER_NAME WAL_NAME
48 | .EE
49 | .UNINDENT
50 | .UNINDENT
51 | .SH DESCRIPTION
52 | .sp
53 | Retrieve a WAL file from the xlog archive of a specified server. By default, if the
54 | requested WAL file is found, it is returned as uncompressed content to \fBSTDOUT\fP\&.
55 | .SH PARAMETERS
56 | .INDENT 0.0
57 | .TP
58 | .B \fBSERVER_NAME\fP
59 | Name of the server in barman node
60 | .TP
61 | .B \fBWAL_NAME\fP
62 | Id of the backup in barman catalog.
63 | .TP
64 | .B \fB\-\-bzip2\fP / \fB\-j\fP
65 | Output will be compressed using bzip2.
66 | .TP
67 | .B \fB\-\-gzip\fP / \fB\-z\fP / \fB\-x\fP
68 | Output will be compressed using gzip.
69 | .TP
70 | .B \fB\-h\fP / \fB\-\-help\fP
71 | Show a help message and exit. Provides information about command usage.
72 | .TP
73 | .B \fB\-\-keep\-compression\fP
74 | Do not uncompress the file content. The output will be the original compressed
75 | file.
76 | .TP
77 | .B \fB\-\-output\-directory\fP / \fB\-o\fP
78 | Destination directory where barman will store the WAL file.
79 | .TP
80 | .B \fB\-\-peek\fP / \fB\-p\fP
81 | Specify an integer value greater than or equal to 1 to retrieve WAL files from the
82 | specified WAL file up to the value specified by this parameter. When using this option,
83 | \fBget\-wal\fP returns a list of zero to the specified WAL segment names, with one name
84 | per row.
85 | .TP
86 | .B \fB\-P\fP / \fB\-\-partial\fP
87 | Additionally, collect partial WAL files (.partial).
88 | .TP
89 | .B \fB\-t\fP / \fB\-\-test\fP
90 | Test both the connection and configuration of the specified Postgres server in
91 | Barman for WAL retrieval. When this option is used, the required \fBWAL_NAME\fP
92 | argument is disregarded.
93 | .UNINDENT
94 | .sp
95 | \fBWARNING:\fP
96 | .INDENT 0.0
97 | .INDENT 3.5
98 | \fB\-z\fP / \fB\-\-gzip\fP and \fB\-j\fP / \fB\-\-bzip2\fP options are deprecated and will be
99 | removed in the future. For WAL compression, please make sure to enable it directly
100 | on the Barman server via the \fBcompression\fP configuration option.
101 | .UNINDENT
102 | .UNINDENT
103 | .SH AUTHOR
104 | EnterpriseDB
105 | .SH COPYRIGHT
106 | © Copyright EnterpriseDB UK Limited 2011-2025
107 | .\" Generated by docutils manpage writer.
108 | .
109 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-keep.1:
--------------------------------------------------------------------------------
1 | '\" t
2 | .\" Man page generated from reStructuredText.
3 | .
4 | .
5 | .nr rst2man-indent-level 0
6 | .
7 | .de1 rstReportMargin
8 | \\$1 \\n[an-margin]
9 | level \\n[rst2man-indent-level]
10 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
11 | -
12 | \\n[rst2man-indent0]
13 | \\n[rst2man-indent1]
14 | \\n[rst2man-indent2]
15 | ..
16 | .de1 INDENT
17 | .\" .rstReportMargin pre:
18 | . RS \\$1
19 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
20 | . nr rst2man-indent-level +1
21 | .\" .rstReportMargin post:
22 | ..
23 | .de UNINDENT
24 | . RE
25 | .\" indent \\n[an-margin]
26 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
27 | .nr rst2man-indent-level -1
28 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
29 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
30 | ..
31 | .TH "BARMAN-KEEP" "1" "May 15, 2024" "3.14" "Barman"
32 | .SH NAME
33 | barman-keep \- Barman Sub-Commands
34 | .SH SYNOPSIS
35 | .INDENT 0.0
36 | .INDENT 3.5
37 | .sp
38 | .EX
39 | keep
40 | [ { \-h | \-\-help } ]
41 | { { \-r | \-\-release } | { \-s | \-\-status } | \-\-target { full | standalone } }
42 | SERVER_NAME BACKUP_ID
43 | .EE
44 | .UNINDENT
45 | .UNINDENT
46 | .SH DESCRIPTION
47 | .sp
48 | Mark the specified backup with a \fBtarget\fP as an archival backup to be retained
49 | indefinitely, overriding any active retention policies. You can also check the keep
50 | \fBstatus\fP of a backup and \fBrelease\fP the keep mark from a backup. You can use a
51 | shortcut instead of \fBBACKUP_ID\fP\&.
52 | .SH PARAMETERS
53 | .INDENT 0.0
54 | .TP
55 | .B \fBSERVER_NAME\fP
56 | Name of the server in barman node
57 | .TP
58 | .B \fBBACKUP_ID\fP
59 | Id of the backup in barman catalog.
60 | .TP
61 | .B \fB\-h\fP / \fB\-\-help\fP
62 | Show a help message and exit. Provides information about command usage.
63 | .TP
64 | .B \fB\-r\fP / \fB\-\-release\fP
65 | Release the keep mark from this backup. This will remove its archival status and
66 | make it available for deletion, either directly or by retention policy.
67 | .TP
68 | .B \fB\-s\fP / \fB\-\-status\fP
69 | Report the archival status of the backup. The status will be either \fBfull\fP or
70 | \fBstandalone\fP for archival backups, or \fBnokeep\fP for backups that have not been
71 | designated as archival.
72 | .TP
73 | .B \fB\-\-target\fP
74 | Define the recovery target for the archival backup. The possible values are:
75 | .INDENT 7.0
76 | .IP \(bu 2
77 | \fBfull\fP: The backup can be used to recover to the most recent point in time. To
78 | support this, Barman will keep all necessary WALs to maintain the backup\(aqs
79 | consistency as well as any subsequent WALs.
80 | .IP \(bu 2
81 | \fBstandalone\fP: The backup can only be used to restore the server to its state at the
82 | time of the backup. Barman will retain only the WALs required to ensure the
83 | backup\(aqs consistency.
84 | .UNINDENT
85 | .UNINDENT
86 | .SH SHORTCUTS
87 | .sp
88 | Use shortcuts instead of \fBBACKUP_ID\fP\&.
89 | .TS
90 | box center;
91 | l|l.
92 | T{
93 | \fBShortcut\fP
94 | T} T{
95 | \fBDescription\fP
96 | T}
97 | _
98 | T{
99 | \fBfirst/oldest\fP
100 | T} T{
101 | Oldest available backup for the server, in chronological order.
102 | T}
103 | _
104 | T{
105 | \fBlast/latest\fP
106 | T} T{
107 | Most recent available backup for the server, in chronological order.
108 | T}
109 | _
110 | T{
111 | \fBlast\-full/latest\-full\fP
112 | T} T{
113 | Most recent full backup taken with methods \fBrsync\fP or \fBpostgres\fP\&.
114 | T}
115 | _
116 | T{
117 | \fBlast\-failed\fP
118 | T} T{
119 | Most recent backup that failed, in chronological order.
120 | T}
121 | .TE
122 | .SH AUTHOR
123 | EnterpriseDB
124 | .SH COPYRIGHT
125 | © Copyright EnterpriseDB UK Limited 2011-2025
126 | .\" Generated by docutils manpage writer.
127 | .
128 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-list-files.1:
--------------------------------------------------------------------------------
1 | '\" t
2 | .\" Man page generated from reStructuredText.
3 | .
4 | .
5 | .nr rst2man-indent-level 0
6 | .
7 | .de1 rstReportMargin
8 | \\$1 \\n[an-margin]
9 | level \\n[rst2man-indent-level]
10 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
11 | -
12 | \\n[rst2man-indent0]
13 | \\n[rst2man-indent1]
14 | \\n[rst2man-indent2]
15 | ..
16 | .de1 INDENT
17 | .\" .rstReportMargin pre:
18 | . RS \\$1
19 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
20 | . nr rst2man-indent-level +1
21 | .\" .rstReportMargin post:
22 | ..
23 | .de UNINDENT
24 | . RE
25 | .\" indent \\n[an-margin]
26 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
27 | .nr rst2man-indent-level -1
28 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
29 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
30 | ..
31 | .TH "BARMAN-LIST-FILES" "1" "May 15, 2024" "3.14" "Barman"
32 | .SH NAME
33 | barman-list-files \- Barman Sub-Commands
34 | .SH SYNOPSIS
35 | .INDENT 0.0
36 | .INDENT 3.5
37 | .sp
38 | .EX
39 | list\-files
40 | [ { \-h | \-\-help } ]
41 | [ \-\-target { data | full | standalone | wal } ]
42 | SERVER_NAME BACKUP_ID
43 | .EE
44 | .UNINDENT
45 | .UNINDENT
46 | .SH DESCRIPTION
47 | .sp
48 | List all files in a specific backup. You can use a shortcut instead of \fBBACKUP_ID\fP\&.
49 | .SH PARAMETERS
50 | .INDENT 0.0
51 | .TP
52 | .B \fBSERVER_NAME\fP
53 | Name of the server in barman node
54 | .TP
55 | .B \fBBACKUP_ID\fP
56 | Id of the backup in barman catalog.
57 | .TP
58 | .B \fB\-h\fP / \fB\-\-help\fP
59 | Show a help message and exit. Provides information about command usage.
60 | .TP
61 | .B \fB\-\-target\fP
62 | Define specific files to be listed. The possible values are:
63 | .INDENT 7.0
64 | .IP \(bu 2
65 | \fBstandalone\fP (default): List the base backup files, including required WAL files.
66 | .IP \(bu 2
67 | \fBdata\fP: List just the data files.
68 | .IP \(bu 2
69 | \fBwal\fP: List all the WAL files between the start of the base backup and the end of
70 | the log or the start of the following base backup (depending on whether the
71 | specified base backup is the most recent one available).
72 | .IP \(bu 2
73 | \fBfull\fP: same as \fBdata\fP + \fBwal\fP\&.
74 | .UNINDENT
75 | .UNINDENT
76 | .SH SHORTCUTS
77 | .sp
78 | Use shortcuts instead of \fBBACKUP_ID\fP\&.
79 | .TS
80 | box center;
81 | l|l.
82 | T{
83 | \fBShortcut\fP
84 | T} T{
85 | \fBDescription\fP
86 | T}
87 | _
88 | T{
89 | \fBfirst/oldest\fP
90 | T} T{
91 | Oldest available backup for the server, in chronological order.
92 | T}
93 | _
94 | T{
95 | \fBlast/latest\fP
96 | T} T{
97 | Most recent available backup for the server, in chronological order.
98 | T}
99 | _
100 | T{
101 | \fBlast\-full/latest\-full\fP
102 | T} T{
103 | Most recent full backup taken with methods \fBrsync\fP or \fBpostgres\fP\&.
104 | T}
105 | _
106 | T{
107 | \fBlast\-failed\fP
108 | T} T{
109 | Most recent backup that failed, in chronological order.
110 | T}
111 | .TE
112 | .SH AUTHOR
113 | EnterpriseDB
114 | .SH COPYRIGHT
115 | © Copyright EnterpriseDB UK Limited 2011-2025
116 | .\" Generated by docutils manpage writer.
117 | .
118 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-list-processes.1:
--------------------------------------------------------------------------------
1 | .\" Man page generated from reStructuredText.
2 | .
3 | .
4 | .nr rst2man-indent-level 0
5 | .
6 | .de1 rstReportMargin
7 | \\$1 \\n[an-margin]
8 | level \\n[rst2man-indent-level]
9 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
10 | -
11 | \\n[rst2man-indent0]
12 | \\n[rst2man-indent1]
13 | \\n[rst2man-indent2]
14 | ..
15 | .de1 INDENT
16 | .\" .rstReportMargin pre:
17 | . RS \\$1
18 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
19 | . nr rst2man-indent-level +1
20 | .\" .rstReportMargin post:
21 | ..
22 | .de UNINDENT
23 | . RE
24 | .\" indent \\n[an-margin]
25 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
26 | .nr rst2man-indent-level -1
27 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29 | ..
30 | .TH "BARMAN-LIST-PROCESSES" "1" "May 15, 2024" "3.14" "Barman"
31 | .SH NAME
32 | barman-list-processes \- Barman Sub-Commands
33 | .SH SYNOPSIS
34 | .INDENT 0.0
35 | .INDENT 3.5
36 | .sp
37 | .EX
38 | list\-processes
39 | [ { \-h | \-\-help } ]
40 | SERVER_NAME
41 | .EE
42 | .UNINDENT
43 | .UNINDENT
44 | .SH DESCRIPTION
45 | .sp
46 | The \fBlist\-processes\fP sub\-command outputs all active subprocesses for a Barman server.
47 | It displays the process identifier (PID) and the corresponding barman task for each active
48 | subprocess.
49 | .SH PARAMETERS
50 | .INDENT 0.0
51 | .TP
52 | .B \fBSERVER_NAME\fP
53 | Name of the server for which to list active subprocesses.
54 | .TP
55 | .B \fB\-h\fP / \fB\-\-help\fP
56 | Displays a help message and exits.
57 | .UNINDENT
58 | .SH AUTHOR
59 | EnterpriseDB
60 | .SH COPYRIGHT
61 | © Copyright EnterpriseDB UK Limited 2011-2025
62 | .\" Generated by docutils manpage writer.
63 | .
64 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-list-servers.1:
--------------------------------------------------------------------------------
1 | .\" Man page generated from reStructuredText.
2 | .
3 | .
4 | .nr rst2man-indent-level 0
5 | .
6 | .de1 rstReportMargin
7 | \\$1 \\n[an-margin]
8 | level \\n[rst2man-indent-level]
9 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
10 | -
11 | \\n[rst2man-indent0]
12 | \\n[rst2man-indent1]
13 | \\n[rst2man-indent2]
14 | ..
15 | .de1 INDENT
16 | .\" .rstReportMargin pre:
17 | . RS \\$1
18 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
19 | . nr rst2man-indent-level +1
20 | .\" .rstReportMargin post:
21 | ..
22 | .de UNINDENT
23 | . RE
24 | .\" indent \\n[an-margin]
25 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
26 | .nr rst2man-indent-level -1
27 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29 | ..
30 | .TH "BARMAN-LIST-SERVERS" "1" "May 15, 2024" "3.14" "Barman"
31 | .SH NAME
32 | barman-list-servers \- Barman Sub-Commands
33 | .SH SYNOPSIS
34 | .INDENT 0.0
35 | .INDENT 3.5
36 | .sp
37 | .EX
38 | list\-servers
39 | [ { \-h | \-\-help } ]
40 | [ \-\-minimal ]
41 | .EE
42 | .UNINDENT
43 | .UNINDENT
44 | .SH DESCRIPTION
45 | .sp
46 | Display all configured servers along with their descriptions.
47 | .SH PARAMETERS
48 | .INDENT 0.0
49 | .TP
50 | .B \fB\-h\fP / \fB\-\-help\fP
51 | Show a help message and exit. Provides information about command usage.
52 | .TP
53 | .B \fB\-\-minimal\fP
54 | Machine readable output.
55 | .UNINDENT
56 | .SH AUTHOR
57 | EnterpriseDB
58 | .SH COPYRIGHT
59 | © Copyright EnterpriseDB UK Limited 2011-2025
60 | .\" Generated by docutils manpage writer.
61 | .
62 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-list_backups.1:
--------------------------------------------------------------------------------
1 | '\" t
2 | .\" Man page generated from reStructuredText.
3 | .
4 | .
5 | .nr rst2man-indent-level 0
6 | .
7 | .de1 rstReportMargin
8 | \\$1 \\n[an-margin]
9 | level \\n[rst2man-indent-level]
10 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
11 | -
12 | \\n[rst2man-indent0]
13 | \\n[rst2man-indent1]
14 | \\n[rst2man-indent2]
15 | ..
16 | .de1 INDENT
17 | .\" .rstReportMargin pre:
18 | . RS \\$1
19 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
20 | . nr rst2man-indent-level +1
21 | .\" .rstReportMargin post:
22 | ..
23 | .de UNINDENT
24 | . RE
25 | .\" indent \\n[an-margin]
26 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
27 | .nr rst2man-indent-level -1
28 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
29 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
30 | ..
31 | .TH "BARMAN-LIST_BACKUPS" "1" "May 15, 2024" "3.14" "Barman"
32 | .SH NAME
33 | barman-list_backups \- Barman Sub-Commands
34 | .SH SYNOPSIS
35 | .INDENT 0.0
36 | .INDENT 3.5
37 | .sp
38 | .EX
39 | list\-backups
40 | [ { \-h | \-\-help } ]
41 | [ \-\-minimal ]
42 | SERVER_NAME
43 | .EE
44 | .UNINDENT
45 | .UNINDENT
46 | .SH DESCRIPTION
47 | .sp
48 | Display the available backups for a server. This command is useful for retrieving both
49 | the backup ID and the backup type. You can find details about this command in
50 | \fI\%Catalog usage\fP\&.
51 | .SH PARAMETERS
52 | .INDENT 0.0
53 | .TP
54 | .B \fBSERVER_NAME\fP
55 | Name of the server in barman node
56 | .TP
57 | .B \fB\-h\fP / \fB\-\-help\fP
58 | Show a help message and exit. Provides information about command usage.
59 | .TP
60 | .B \fB\-\-minimal\fP
61 | Machine readable output.
62 | .UNINDENT
63 | .SH SHORTCUTS
64 | .sp
65 | Use shortcuts instead of \fBSERVER_NAME\fP\&.
66 | .TS
67 | box center;
68 | l|l.
69 | T{
70 | \fBShortcut\fP
71 | T} T{
72 | \fBDescription\fP
73 | T}
74 | _
75 | T{
76 | \fBall\fP
77 | T} T{
78 | All available servers
79 | T}
80 | .TE
81 | .SH AUTHOR
82 | EnterpriseDB
83 | .SH COPYRIGHT
84 | © Copyright EnterpriseDB UK Limited 2011-2025
85 | .\" Generated by docutils manpage writer.
86 | .
87 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-lock-directory-cleanup.1:
--------------------------------------------------------------------------------
1 | .\" Man page generated from reStructuredText.
2 | .
3 | .
4 | .nr rst2man-indent-level 0
5 | .
6 | .de1 rstReportMargin
7 | \\$1 \\n[an-margin]
8 | level \\n[rst2man-indent-level]
9 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
10 | -
11 | \\n[rst2man-indent0]
12 | \\n[rst2man-indent1]
13 | \\n[rst2man-indent2]
14 | ..
15 | .de1 INDENT
16 | .\" .rstReportMargin pre:
17 | . RS \\$1
18 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
19 | . nr rst2man-indent-level +1
20 | .\" .rstReportMargin post:
21 | ..
22 | .de UNINDENT
23 | . RE
24 | .\" indent \\n[an-margin]
25 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
26 | .nr rst2man-indent-level -1
27 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29 | ..
30 | .TH "BARMAN-LOCK-DIRECTORY-CLEANUP" "1" "May 15, 2024" "3.14" "Barman"
31 | .SH NAME
32 | barman-lock-directory-cleanup \- Barman Sub-Commands
33 | .SH SYNOPSIS
34 | .INDENT 0.0
35 | .INDENT 3.5
36 | .sp
37 | .EX
38 | lock\-directory\-cleanup
39 | [ { \-h | \-\-help } ]
40 | .EE
41 | .UNINDENT
42 | .UNINDENT
43 | .SH DESCRIPTION
44 | .sp
45 | Automatically removes unused lock files from the \fBbarman_lock_directory\fP\&.
46 | .SH PARAMETERS
47 | .INDENT 0.0
48 | .TP
49 | .B \fB\-h\fP / \fB\-\-help\fP
50 | Show a help message and exit. Provides information about command usage.
51 | .UNINDENT
52 | .SH AUTHOR
53 | EnterpriseDB
54 | .SH COPYRIGHT
55 | © Copyright EnterpriseDB UK Limited 2011-2025
56 | .\" Generated by docutils manpage writer.
57 | .
58 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-put-wal.1:
--------------------------------------------------------------------------------
1 | .\" Man page generated from reStructuredText.
2 | .
3 | .
4 | .nr rst2man-indent-level 0
5 | .
6 | .de1 rstReportMargin
7 | \\$1 \\n[an-margin]
8 | level \\n[rst2man-indent-level]
9 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
10 | -
11 | \\n[rst2man-indent0]
12 | \\n[rst2man-indent1]
13 | \\n[rst2man-indent2]
14 | ..
15 | .de1 INDENT
16 | .\" .rstReportMargin pre:
17 | . RS \\$1
18 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
19 | . nr rst2man-indent-level +1
20 | .\" .rstReportMargin post:
21 | ..
22 | .de UNINDENT
23 | . RE
24 | .\" indent \\n[an-margin]
25 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
26 | .nr rst2man-indent-level -1
27 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29 | ..
30 | .TH "BARMAN-PUT-WAL" "1" "May 15, 2024" "3.14" "Barman"
31 | .SH NAME
32 | barman-put-wal \- Barman Sub-Commands
33 | .SH SYNOPSIS
34 | .INDENT 0.0
35 | .INDENT 3.5
36 | .sp
37 | .EX
38 | put\-wal
39 | [ { \-h | \-\-help } ]
40 | [ { \-t | \-\-test } ]
41 | SERVER_NAME
42 | .EE
43 | .UNINDENT
44 | .UNINDENT
45 | .SH DESCRIPTION
46 | .sp
47 | Receive a WAL file from a remote server and securely save it into the server incoming
48 | directory. The WAL file should be provided via \fBSTDIN\fP, encapsulated in a tar stream
49 | along with a \fBSHA256SUMS\fP or \fBMD5SUMS\fP file for validation (\fBsha256\fP is the default
50 | hash algorithm, but the user can choose \fBmd5\fP when setting the \fBarchive\-command\fP via
51 | \fBbarman\-wal\-archive\fP). This command is intended to be executed via SSH from a remote
52 | \fBbarman\-wal\-archive\fP utility (included in the barman\-cli package). Avoid using this
53 | command directly unless you fully manage the content of the files.
54 | .SH PARAMETERS
55 | .INDENT 0.0
56 | .TP
57 | .B \fBSERVER_NAME\fP
58 | Name of the server in barman node
59 | .TP
60 | .B \fB\-h\fP / \fB\-\-help\fP
61 | Show a help message and exit. Provides information about command usage.
62 | .TP
63 | .B \fB\-t\fP / \fB\-\-test\fP
64 | Test both the connection and configuration of the specified Postgres
65 | server in Barman for WAL retrieval.
66 | .UNINDENT
67 | .SH AUTHOR
68 | EnterpriseDB
69 | .SH COPYRIGHT
70 | © Copyright EnterpriseDB UK Limited 2011-2025
71 | .\" Generated by docutils manpage writer.
72 | .
73 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-rebuild-xlogdb.1:
--------------------------------------------------------------------------------
1 | '\" t
2 | .\" Man page generated from reStructuredText.
3 | .
4 | .
5 | .nr rst2man-indent-level 0
6 | .
7 | .de1 rstReportMargin
8 | \\$1 \\n[an-margin]
9 | level \\n[rst2man-indent-level]
10 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
11 | -
12 | \\n[rst2man-indent0]
13 | \\n[rst2man-indent1]
14 | \\n[rst2man-indent2]
15 | ..
16 | .de1 INDENT
17 | .\" .rstReportMargin pre:
18 | . RS \\$1
19 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
20 | . nr rst2man-indent-level +1
21 | .\" .rstReportMargin post:
22 | ..
23 | .de UNINDENT
24 | . RE
25 | .\" indent \\n[an-margin]
26 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
27 | .nr rst2man-indent-level -1
28 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
29 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
30 | ..
31 | .TH "BARMAN-REBUILD-XLOGDB" "1" "May 15, 2024" "3.14" "Barman"
32 | .SH NAME
33 | barman-rebuild-xlogdb \- Barman Sub-Commands
34 | .SH SYNOPSIS
35 | .INDENT 0.0
36 | .INDENT 3.5
37 | .sp
38 | .EX
39 | rebuild\-xlogdb
40 | [ { \-h | \-\-help } ]
41 | SERVER_NAME [ SERVER_NAME ... ]
42 | .EE
43 | .UNINDENT
44 | .UNINDENT
45 | .SH DESCRIPTION
46 | .sp
47 | Rebuild the WAL file metadata for a server (or for all servers using the \fBall\fP shortcut)
48 | based on the disk content. The WAL archive metadata is stored in the \fBxlog.db\fP file,
49 | with each Barman server maintaining its own copy.
50 | .SH PARAMETERS
51 | .INDENT 0.0
52 | .TP
53 | .B \fBSERVER_NAME\fP
54 | Name of the server in barman node.
55 | .TP
56 | .B \fB\-h\fP / \fB\-\-help\fP
57 | Show a help message and exit. Provides information about command usage.
58 | .UNINDENT
59 | .SH SHORTCUTS
60 | .sp
61 | Use shortcuts instead of \fBSERVER_NAME\fP\&.
62 | .TS
63 | box center;
64 | l|l.
65 | T{
66 | \fBShortcut\fP
67 | T} T{
68 | \fBDescription\fP
69 | T}
70 | _
71 | T{
72 | \fBall\fP
73 | T} T{
74 | All available servers
75 | T}
76 | .TE
77 | .SH AUTHOR
78 | EnterpriseDB
79 | .SH COPYRIGHT
80 | © Copyright EnterpriseDB UK Limited 2011-2025
81 | .\" Generated by docutils manpage writer.
82 | .
83 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-receive-wal.1:
--------------------------------------------------------------------------------
1 | .\" Man page generated from reStructuredText.
2 | .
3 | .
4 | .nr rst2man-indent-level 0
5 | .
6 | .de1 rstReportMargin
7 | \\$1 \\n[an-margin]
8 | level \\n[rst2man-indent-level]
9 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
10 | -
11 | \\n[rst2man-indent0]
12 | \\n[rst2man-indent1]
13 | \\n[rst2man-indent2]
14 | ..
15 | .de1 INDENT
16 | .\" .rstReportMargin pre:
17 | . RS \\$1
18 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
19 | . nr rst2man-indent-level +1
20 | .\" .rstReportMargin post:
21 | ..
22 | .de UNINDENT
23 | . RE
24 | .\" indent \\n[an-margin]
25 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
26 | .nr rst2man-indent-level -1
27 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29 | ..
30 | .TH "BARMAN-RECEIVE-WAL" "1" "May 15, 2024" "3.14" "Barman"
31 | .SH NAME
32 | barman-receive-wal \- Barman Sub-Commands
33 | .SH SYNOPSIS
34 | .INDENT 0.0
35 | .INDENT 3.5
36 | .sp
37 | .EX
38 | receive\-wal
39 | [ \-\-create\-slot ]
40 | [ \-\-drop\-slot ]
41 | [ { \-h | \-\-help } ]
42 | [ \-\-reset ]
43 | [ \-\-stop ]
44 | SERVER_NAME
45 | .EE
46 | .UNINDENT
47 | .UNINDENT
48 | .SH DESCRIPTION
49 | .sp
50 | Initiate the streaming of transaction logs for a server. This process uses
51 | \fBpg_receivewal\fP or \fBpg_receivexlog\fP to receive WAL files from Postgres servers via
52 | the streaming protocol.
53 | .SH PARAMETERS
54 | .INDENT 0.0
55 | .TP
56 | .B \fBSERVER_NAME\fP
57 | Name of the server in barman node.
58 | .TP
59 | .B \fB\-\-create\-slot\fP
60 | Create the physical replication slot configured with the \fBslot_name\fP configuration
61 | parameter.
62 | .TP
63 | .B \fB\-\-drop\-slot\fP
64 | Drop the physical replication slot configured with the \fBslot_name\fP configuration
65 | parameter.
66 | .TP
67 | .B \fB\-h\fP / \fB\-\-help\fP
68 | Show a help message and exit. Provides information about command usage.
69 | .TP
70 | .B \fB\-\-reset\fP
71 | Reset the status of \fBreceive\-wal\fP, restarting the streaming from the current WAL file
72 | of the server.
73 | .TP
74 | .B \fB\-\-stop\fP
75 | Stop the process for the server.
76 | .UNINDENT
77 | .sp
78 | \fBWARNING:\fP
79 | .INDENT 0.0
80 | .INDENT 3.5
81 | The \fB\-\-stop\fP option for the \fBbarman receive\-wal\fP command will be obsoleted
82 | in a future release. Users should favor using the
83 | \fI\%terminate\-process\fP command instead, which
84 | is the new way of handling this feature.
85 | .UNINDENT
86 | .UNINDENT
87 | .SH AUTHOR
88 | EnterpriseDB
89 | .SH COPYRIGHT
90 | © Copyright EnterpriseDB UK Limited 2011-2025
91 | .\" Generated by docutils manpage writer.
92 | .
93 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-replication-status.1:
--------------------------------------------------------------------------------
1 | '\" t
2 | .\" Man page generated from reStructuredText.
3 | .
4 | .
5 | .nr rst2man-indent-level 0
6 | .
7 | .de1 rstReportMargin
8 | \\$1 \\n[an-margin]
9 | level \\n[rst2man-indent-level]
10 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
11 | -
12 | \\n[rst2man-indent0]
13 | \\n[rst2man-indent1]
14 | \\n[rst2man-indent2]
15 | ..
16 | .de1 INDENT
17 | .\" .rstReportMargin pre:
18 | . RS \\$1
19 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
20 | . nr rst2man-indent-level +1
21 | .\" .rstReportMargin post:
22 | ..
23 | .de UNINDENT
24 | . RE
25 | .\" indent \\n[an-margin]
26 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
27 | .nr rst2man-indent-level -1
28 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
29 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
30 | ..
31 | .TH "BARMAN-REPLICATION-STATUS" "1" "May 15, 2024" "3.14" "Barman"
32 | .SH NAME
33 | barman-replication-status \- Barman Sub-Commands
34 | .SH SYNOPSIS
35 | .INDENT 0.0
36 | .INDENT 3.5
37 | .sp
38 | .EX
39 | replication\-status
40 | [ { \-h | \-\-help } ]
41 | [ \-\-minimal ]
42 | [ \-\-source { backup\-host | wal\-host } ]
43 | [ \-\-target { hot\-standby | wal\-streamer | all } ]
44 | SERVER_NAME [ SERVER_NAME ... ]
45 | .EE
46 | .UNINDENT
47 | .UNINDENT
48 | .SH DESCRIPTION
49 | .sp
50 | Display real\-time information and status of any streaming clients connected to the
51 | specified server. Specify \fBall\fP shortcut to diplay information for all configured
52 | servers.
53 | .SH PARAMETERS
54 | .INDENT 0.0
55 | .TP
56 | .B \fBSERVER_NAME\fP
57 | Name of the server in barman node
58 | .TP
59 | .B \fB\-h\fP / \fB\-\-help\fP
60 | Show a help message and exit. Provides information about command usage.
61 | .TP
62 | .B \fB\-\-minimal\fP
63 | Machine readable output.
64 | .TP
65 | .B \fB\-\-source\fP
66 | The possible values are:
67 | .INDENT 7.0
68 | .IP \(bu 2
69 | \fBbackup\-host\fP (default): List clients using the backup connection information
70 | for a server.
71 | .IP \(bu 2
72 | \fBwal\-host\fP: List clients using the WAL streaming connection information for a
73 | server.
74 | .UNINDENT
75 | .TP
76 | .B \fB\-\-target\fP
77 | The possible values are:
78 | .INDENT 7.0
79 | .IP \(bu 2
80 | \fBhot\-standby\fP: List only hot standby servers.
81 | .IP \(bu 2
82 | \fBwal\-streamer\fP: List only WAL streaming clients, such as \fBpg_receivewal\fP\&.
83 | .IP \(bu 2
84 | \fBall\fP (default): List all streaming clients.
85 | .UNINDENT
86 | .UNINDENT
87 | .SH SHORTCUTS
88 | .sp
89 | Use shortcuts instead of \fBSERVER_NAME\fP\&.
90 | .TS
91 | box center;
92 | l|l.
93 | T{
94 | \fBShortcut\fP
95 | T} T{
96 | \fBDescription\fP
97 | T}
98 | _
99 | T{
100 | \fBall\fP
101 | T} T{
102 | All available servers
103 | T}
104 | .TE
105 | .SH AUTHOR
106 | EnterpriseDB
107 | .SH COPYRIGHT
108 | © Copyright EnterpriseDB UK Limited 2011-2025
109 | .\" Generated by docutils manpage writer.
110 | .
111 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-show-backup.1:
--------------------------------------------------------------------------------
1 | '\" t
2 | .\" Man page generated from reStructuredText.
3 | .
4 | .
5 | .nr rst2man-indent-level 0
6 | .
7 | .de1 rstReportMargin
8 | \\$1 \\n[an-margin]
9 | level \\n[rst2man-indent-level]
10 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
11 | -
12 | \\n[rst2man-indent0]
13 | \\n[rst2man-indent1]
14 | \\n[rst2man-indent2]
15 | ..
16 | .de1 INDENT
17 | .\" .rstReportMargin pre:
18 | . RS \\$1
19 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
20 | . nr rst2man-indent-level +1
21 | .\" .rstReportMargin post:
22 | ..
23 | .de UNINDENT
24 | . RE
25 | .\" indent \\n[an-margin]
26 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
27 | .nr rst2man-indent-level -1
28 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
29 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
30 | ..
31 | .TH "BARMAN-SHOW-BACKUP" "1" "May 15, 2024" "3.14" "Barman"
32 | .SH NAME
33 | barman-show-backup \- Barman Sub-Commands
34 | .SH SYNOPSIS
35 | .INDENT 0.0
36 | .INDENT 3.5
37 | .sp
38 | .EX
39 | show\-backup
40 | [ { \-h | \-\-help } ]
41 | SERVER_NAME BACKUP_ID
42 | .EE
43 | .UNINDENT
44 | .UNINDENT
45 | .SH DESCRIPTION
46 | .sp
47 | Display detailed information about a specific backup. You can find details about this command in
48 | \fI\%Catalog usage\fP\&. You can use a shortcut instead of \fBBACKUP_ID\fP\&.
49 | .SH PARAMETERS
50 | .INDENT 0.0
51 | .TP
52 | .B \fBSERVER_NAME\fP
53 | Name of the server in barman node
54 | .TP
55 | .B \fBBACKUP_ID\fP
56 | Id of the backup in barman catalog.
57 | .TP
58 | .B \fB\-h\fP / \fB\-\-help\fP
59 | Show a help message and exit. Provides information about command usage.
60 | .UNINDENT
61 | .SH SHORTCUTS
62 | .sp
63 | Use shortcuts instead of \fBBACKUP_ID\fP\&.
64 | .TS
65 | box center;
66 | l|l.
67 | T{
68 | \fBShortcut\fP
69 | T} T{
70 | \fBDescription\fP
71 | T}
72 | _
73 | T{
74 | \fBfirst/oldest\fP
75 | T} T{
76 | Oldest available backup for the server, in chronological order.
77 | T}
78 | _
79 | T{
80 | \fBlast/latest\fP
81 | T} T{
82 | Most recent available backup for the server, in chronological order.
83 | T}
84 | _
85 | T{
86 | \fBlast\-full/latest\-full\fP
87 | T} T{
88 | Most recent full backup taken with methods \fBrsync\fP or \fBpostgres\fP\&.
89 | T}
90 | _
91 | T{
92 | \fBlast\-failed\fP
93 | T} T{
94 | Most recent backup that failed, in chronological order.
95 | T}
96 | .TE
97 | .SH AUTHOR
98 | EnterpriseDB
99 | .SH COPYRIGHT
100 | © Copyright EnterpriseDB UK Limited 2011-2025
101 | .\" Generated by docutils manpage writer.
102 | .
103 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-show-servers.1:
--------------------------------------------------------------------------------
1 | '\" t
2 | .\" Man page generated from reStructuredText.
3 | .
4 | .
5 | .nr rst2man-indent-level 0
6 | .
7 | .de1 rstReportMargin
8 | \\$1 \\n[an-margin]
9 | level \\n[rst2man-indent-level]
10 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
11 | -
12 | \\n[rst2man-indent0]
13 | \\n[rst2man-indent1]
14 | \\n[rst2man-indent2]
15 | ..
16 | .de1 INDENT
17 | .\" .rstReportMargin pre:
18 | . RS \\$1
19 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
20 | . nr rst2man-indent-level +1
21 | .\" .rstReportMargin post:
22 | ..
23 | .de UNINDENT
24 | . RE
25 | .\" indent \\n[an-margin]
26 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
27 | .nr rst2man-indent-level -1
28 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
29 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
30 | ..
31 | .TH "BARMAN-SHOW-SERVERS" "1" "May 15, 2024" "3.14" "Barman"
32 | .SH NAME
33 | barman-show-servers \- Barman Sub-Commands
34 | .SH SYNOPSIS
35 | .INDENT 0.0
36 | .INDENT 3.5
37 | .sp
38 | .EX
39 | show\-servers
40 | [ { \-h | \-\-help } ]
41 | SERVER_NAME [ SERVER_NAME ... ]
42 | .EE
43 | .UNINDENT
44 | .UNINDENT
45 | .SH DESCRIPTION
46 | .sp
47 | Display detailed information about a server, including \fBconninfo\fP, \fBbackup_directory\fP,
48 | \fBwals_directory\fP, \fBarchive_command\fP, and many more. To view information about all configured
49 | servers, specify the \fBall\fP shortcut instead of the server name.
50 | .SH PARAMETERS
51 | .INDENT 0.0
52 | .TP
53 | .B \fBSERVER_NAME\fP
54 | Name of the server in barman node
55 | .TP
56 | .B \fB\-h\fP / \fB\-\-help\fP
57 | Show a help message and exit. Provides information about command usage.
58 | .UNINDENT
59 | .SH SHORTCUTS
60 | .TS
61 | box center;
62 | l|l.
63 | T{
64 | \fBShortcut\fP
65 | T} T{
66 | \fBDescription\fP
67 | T}
68 | _
69 | T{
70 | \fBall\fP
71 | T} T{
72 | All available servers
73 | T}
74 | .TE
75 | .SH AUTHOR
76 | EnterpriseDB
77 | .SH COPYRIGHT
78 | © Copyright EnterpriseDB UK Limited 2011-2025
79 | .\" Generated by docutils manpage writer.
80 | .
81 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-status.1:
--------------------------------------------------------------------------------
1 | '\" t
2 | .\" Man page generated from reStructuredText.
3 | .
4 | .
5 | .nr rst2man-indent-level 0
6 | .
7 | .de1 rstReportMargin
8 | \\$1 \\n[an-margin]
9 | level \\n[rst2man-indent-level]
10 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
11 | -
12 | \\n[rst2man-indent0]
13 | \\n[rst2man-indent1]
14 | \\n[rst2man-indent2]
15 | ..
16 | .de1 INDENT
17 | .\" .rstReportMargin pre:
18 | . RS \\$1
19 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
20 | . nr rst2man-indent-level +1
21 | .\" .rstReportMargin post:
22 | ..
23 | .de UNINDENT
24 | . RE
25 | .\" indent \\n[an-margin]
26 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
27 | .nr rst2man-indent-level -1
28 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
29 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
30 | ..
31 | .TH "BARMAN-STATUS" "1" "May 15, 2024" "3.14" "Barman"
32 | .SH NAME
33 | barman-status \- Barman Sub-Commands
34 | .SH SYNOPSIS
35 | .INDENT 0.0
36 | .INDENT 3.5
37 | .sp
38 | .EX
39 | status
40 | [ { \-h | \-\-help } ]
41 | SERVER_NAME [ SERVER_NAME ... ]
42 | .EE
43 | .UNINDENT
44 | .UNINDENT
45 | .SH DESCRIPTION
46 | .sp
47 | Display information about a server\(aqs status, including details such as the state,
48 | Postgres version, WAL information, available backups and more.
49 | .SH PARAMETERS
50 | .INDENT 0.0
51 | .TP
52 | .B \fBSERVER_NAME\fP
53 | Name of the server in barman node
54 | .TP
55 | .B \fB\-h\fP / \fB\-\-help\fP
56 | Show a help message and exit. Provides information about command usage.
57 | .UNINDENT
58 | .SH SHORTCUTS
59 | .TS
60 | box center;
61 | l|l.
62 | T{
63 | \fBShortcut\fP
64 | T} T{
65 | \fBDescription\fP
66 | T}
67 | _
68 | T{
69 | \fBall\fP
70 | T} T{
71 | All available servers
72 | T}
73 | .TE
74 | .SH AUTHOR
75 | EnterpriseDB
76 | .SH COPYRIGHT
77 | © Copyright EnterpriseDB UK Limited 2011-2025
78 | .\" Generated by docutils manpage writer.
79 | .
80 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-switch-wal.1:
--------------------------------------------------------------------------------
1 | .\" Man page generated from reStructuredText.
2 | .
3 | .
4 | .nr rst2man-indent-level 0
5 | .
6 | .de1 rstReportMargin
7 | \\$1 \\n[an-margin]
8 | level \\n[rst2man-indent-level]
9 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
10 | -
11 | \\n[rst2man-indent0]
12 | \\n[rst2man-indent1]
13 | \\n[rst2man-indent2]
14 | ..
15 | .de1 INDENT
16 | .\" .rstReportMargin pre:
17 | . RS \\$1
18 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
19 | . nr rst2man-indent-level +1
20 | .\" .rstReportMargin post:
21 | ..
22 | .de UNINDENT
23 | . RE
24 | .\" indent \\n[an-margin]
25 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
26 | .nr rst2man-indent-level -1
27 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29 | ..
30 | .TH "BARMAN-SWITCH-WAL" "1" "May 15, 2024" "3.14" "Barman"
31 | .SH NAME
32 | barman-switch-wal \- Barman Sub-Commands
33 | .SH SYNOPSIS
34 | .INDENT 0.0
35 | .INDENT 3.5
36 | .sp
37 | .EX
38 | switch\-wal
39 | [ \-\-archive ]
40 | [ \-\-archive\-timeout ]
41 | [ \-\-force ]
42 | [ { \-h | \-\-help } ]
43 | SERVER_NAME [ SERVER_NAME ... ]
44 | .EE
45 | .UNINDENT
46 | .UNINDENT
47 | .SH DESCRIPTION
48 | .sp
49 | Execute \fBpg_switch_wal()\fP on the target server (Postgres versions 10 and later) or
50 | \fBpg_switch_xlog()\fP (for Postgres versions 8.3 to 9.6).
51 | .SH PARAMETERS
52 | .INDENT 0.0
53 | .TP
54 | .B \fBSERVER_NAME\fP
55 | Name of the server in barman node
56 | .TP
57 | .B \fB\-\-archive\fP
58 | Waits for one WAL file to be archived. If no WAL file is archived within a specified
59 | time (default: \fB30\fP seconds), Barman will terminate with a failure exit code. This
60 | option is also available on standby servers.
61 | .TP
62 | .B \fB\-\-archive\-timeout\fP
63 | Specify the amount of time in seconds (default: \fB30\fP seconds) that the archiver
64 | will wait for a new WAL file to be archived before timing out. This option is also
65 | available on standby servers.
66 | .TP
67 | .B \fB\-\-force\fP
68 | Forces the switch by executing a CHECKPOINT before \fBpg_switch_wal()\fP\&.
69 | .sp
70 | \fBNOTE:\fP
71 | .INDENT 7.0
72 | .INDENT 3.5
73 | Running a CHECKPOINT may increase I/O load on the Postgres server, so use this
74 | option cautiously.
75 | .UNINDENT
76 | .UNINDENT
77 | .TP
78 | .B \fB\-h\fP / \fB\-\-help\fP
79 | Show a help message and exit. Provides information about command usage.
80 | .UNINDENT
81 | .SH AUTHOR
82 | EnterpriseDB
83 | .SH COPYRIGHT
84 | © Copyright EnterpriseDB UK Limited 2011-2025
85 | .\" Generated by docutils manpage writer.
86 | .
87 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-switch-xlog.1:
--------------------------------------------------------------------------------
1 | .\" Man page generated from reStructuredText.
2 | .
3 | .
4 | .nr rst2man-indent-level 0
5 | .
6 | .de1 rstReportMargin
7 | \\$1 \\n[an-margin]
8 | level \\n[rst2man-indent-level]
9 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
10 | -
11 | \\n[rst2man-indent0]
12 | \\n[rst2man-indent1]
13 | \\n[rst2man-indent2]
14 | ..
15 | .de1 INDENT
16 | .\" .rstReportMargin pre:
17 | . RS \\$1
18 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
19 | . nr rst2man-indent-level +1
20 | .\" .rstReportMargin post:
21 | ..
22 | .de UNINDENT
23 | . RE
24 | .\" indent \\n[an-margin]
25 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
26 | .nr rst2man-indent-level -1
27 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29 | ..
30 | .TH "BARMAN-SWITCH-XLOG" "1" "May 15, 2024" "3.14" "Barman"
31 | .SH NAME
32 | barman-switch-xlog \- Barman Sub-Commands
33 | .SH DESCRIPTION
34 | .sp
35 | Alias for the \fBswitch\-wal\fP command.
36 | .SH AUTHOR
37 | EnterpriseDB
38 | .SH COPYRIGHT
39 | © Copyright EnterpriseDB UK Limited 2011-2025
40 | .\" Generated by docutils manpage writer.
41 | .
42 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-sync-backup.1:
--------------------------------------------------------------------------------
1 | '\" t
2 | .\" Man page generated from reStructuredText.
3 | .
4 | .
5 | .nr rst2man-indent-level 0
6 | .
7 | .de1 rstReportMargin
8 | \\$1 \\n[an-margin]
9 | level \\n[rst2man-indent-level]
10 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
11 | -
12 | \\n[rst2man-indent0]
13 | \\n[rst2man-indent1]
14 | \\n[rst2man-indent2]
15 | ..
16 | .de1 INDENT
17 | .\" .rstReportMargin pre:
18 | . RS \\$1
19 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
20 | . nr rst2man-indent-level +1
21 | .\" .rstReportMargin post:
22 | ..
23 | .de UNINDENT
24 | . RE
25 | .\" indent \\n[an-margin]
26 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
27 | .nr rst2man-indent-level -1
28 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
29 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
30 | ..
31 | .TH "BARMAN-SYNC-BACKUP" "1" "May 15, 2024" "3.14" "Barman"
32 | .SH NAME
33 | barman-sync-backup \- Barman Sub-Commands
34 | .SH SYNOPSIS
35 | .INDENT 0.0
36 | .INDENT 3.5
37 | .sp
38 | .EX
39 | sync\-backup
40 | [ { \-h | \-\-help } ]
41 | SERVER_NAME BACKUP_ID
42 | .EE
43 | .UNINDENT
44 | .UNINDENT
45 | .SH DESCRIPTION
46 | .sp
47 | This command synchronizes a passive node with its primary by copying all files from a
48 | backup present on the server node. It is available only for passive nodes and uses
49 | the \fBprimary_ssh_command\fP option to establish a secure connection with the primary
50 | node. You can use a shortcut instead of \fBBACKUP_ID\fP\&.
51 | .SH PARAMETERS
52 | .INDENT 0.0
53 | .TP
54 | .B \fBSERVER_NAME\fP
55 | Name of the server in barman node
56 | .TP
57 | .B \fBBACKUP_ID\fP
58 | Id of the backup in barman catalog.
59 | .TP
60 | .B \fB\-h\fP / \fB\-\-help\fP
61 | Show a help message and exit. Provides information about command usage.
62 | .UNINDENT
63 | .SH SHORTCUTS
64 | .sp
65 | For some commands, instead of using the timestamp backup ID, you can use the following
66 | shortcuts or aliases to identify a backup for a given server:
67 | .TS
68 | box center;
69 | l|l.
70 | T{
71 | \fBShortcut\fP
72 | T} T{
73 | \fBDescription\fP
74 | T}
75 | _
76 | T{
77 | \fBfirst/oldest\fP
78 | T} T{
79 | Oldest available backup for the server, in chronological order.
80 | T}
81 | _
82 | T{
83 | \fBlast/latest\fP
84 | T} T{
85 | Most recent available backup for the server, in chronological order.
86 | T}
87 | _
88 | T{
89 | \fBlast\-full/latest\-full\fP
90 | T} T{
91 | Most recent full backup taken with methods \fBrsync\fP or \fBpostgres\fP\&.
92 | T}
93 | _
94 | T{
95 | \fBlast\-failed\fP
96 | T} T{
97 | Most recent backup that failed, in chronological order.
98 | T}
99 | .TE
100 | .SH AUTHOR
101 | EnterpriseDB
102 | .SH COPYRIGHT
103 | © Copyright EnterpriseDB UK Limited 2011-2025
104 | .\" Generated by docutils manpage writer.
105 | .
106 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-sync-info.1:
--------------------------------------------------------------------------------
1 | .\" Man page generated from reStructuredText.
2 | .
3 | .
4 | .nr rst2man-indent-level 0
5 | .
6 | .de1 rstReportMargin
7 | \\$1 \\n[an-margin]
8 | level \\n[rst2man-indent-level]
9 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
10 | -
11 | \\n[rst2man-indent0]
12 | \\n[rst2man-indent1]
13 | \\n[rst2man-indent2]
14 | ..
15 | .de1 INDENT
16 | .\" .rstReportMargin pre:
17 | . RS \\$1
18 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
19 | . nr rst2man-indent-level +1
20 | .\" .rstReportMargin post:
21 | ..
22 | .de UNINDENT
23 | . RE
24 | .\" indent \\n[an-margin]
25 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
26 | .nr rst2man-indent-level -1
27 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29 | ..
30 | .TH "BARMAN-SYNC-INFO" "1" "May 15, 2024" "3.14" "Barman"
31 | .SH NAME
32 | barman-sync-info \- Barman Sub-Commands
33 | .SH SYNOPSIS
34 | .INDENT 0.0
35 | .INDENT 3.5
36 | .sp
37 | .EX
38 | sync\-info
39 | [ { \-h | \-\-help } ]
40 | [ \-\-primary ]
41 | SERVER_NAME [ LAST_WAL [ LAST_POS ] ]
42 | .EE
43 | .UNINDENT
44 | .UNINDENT
45 | .SH DESCRIPTION
46 | .sp
47 | Gather information about the current status of a Barman server for synchronization
48 | purposes.
49 | .sp
50 | This command returns a JSON output for a server that includes: all successfully
51 | completed backups, all archived WAL files, the configuration, the last WAL file read from
52 | \fBxlog.db\fP, and its position within the file.
53 | .SH PARAMETERS
54 | .INDENT 0.0
55 | .TP
56 | .B \fBSERVER_NAME\fP
57 | Name of the server in barman node
58 | .TP
59 | .B \fBLAST_WAL\fP
60 | Instructs sync\-info to skip any WAL files that precede the specified file (for
61 | incremental synchronization).
62 | .TP
63 | .B \fBLAST_POS\fP
64 | Hint for quickly positioning in the \fBxlog.db\fP file (for incremental synchronization).
65 | .TP
66 | .B \fB\-h\fP / \fB\-\-help\fP
67 | Show a help message and exit. Provides information about command usage.
68 | .TP
69 | .B \fB\-\-primary\fP
70 | Execute the sync\-info on the primary node (if set).
71 | .UNINDENT
72 | .SH AUTHOR
73 | EnterpriseDB
74 | .SH COPYRIGHT
75 | © Copyright EnterpriseDB UK Limited 2011-2025
76 | .\" Generated by docutils manpage writer.
77 | .
78 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-sync-wals.1:
--------------------------------------------------------------------------------
1 | .\" Man page generated from reStructuredText.
2 | .
3 | .
4 | .nr rst2man-indent-level 0
5 | .
6 | .de1 rstReportMargin
7 | \\$1 \\n[an-margin]
8 | level \\n[rst2man-indent-level]
9 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
10 | -
11 | \\n[rst2man-indent0]
12 | \\n[rst2man-indent1]
13 | \\n[rst2man-indent2]
14 | ..
15 | .de1 INDENT
16 | .\" .rstReportMargin pre:
17 | . RS \\$1
18 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
19 | . nr rst2man-indent-level +1
20 | .\" .rstReportMargin post:
21 | ..
22 | .de UNINDENT
23 | . RE
24 | .\" indent \\n[an-margin]
25 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
26 | .nr rst2man-indent-level -1
27 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29 | ..
30 | .TH "BARMAN-SYNC-WALS" "1" "May 15, 2024" "3.14" "Barman"
31 | .SH NAME
32 | barman-sync-wals \- Barman Sub-Commands
33 | .SH SYNOPSIS
34 | .INDENT 0.0
35 | .INDENT 3.5
36 | .sp
37 | .EX
38 | sync\-wals
39 | [ { \-h | \-\-help } ]
40 | SERVER_NAME
41 | .EE
42 | .UNINDENT
43 | .UNINDENT
44 | .SH DESCRIPTION
45 | .sp
46 | This command synchronizes a passive node with its primary by copying all archived WAL
47 | files from the server node. It is available only for passive nodes and utilizes the
48 | \fBprimary_ssh_command\fP option to establish a secure connection with the primary node.
49 | .SH PARAMETERS
50 | .INDENT 0.0
51 | .TP
52 | .B \fBSERVER_NAME\fP
53 | Name of the server in barman node
54 | .TP
55 | .B \fB\-h\fP / \fB\-\-help\fP
56 | Show a help message and exit. Provides information about command usage.
57 | .UNINDENT
58 | .SH AUTHOR
59 | EnterpriseDB
60 | .SH COPYRIGHT
61 | © Copyright EnterpriseDB UK Limited 2011-2025
62 | .\" Generated by docutils manpage writer.
63 | .
64 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-terminate-process.1:
--------------------------------------------------------------------------------
1 | .\" Man page generated from reStructuredText.
2 | .
3 | .
4 | .nr rst2man-indent-level 0
5 | .
6 | .de1 rstReportMargin
7 | \\$1 \\n[an-margin]
8 | level \\n[rst2man-indent-level]
9 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
10 | -
11 | \\n[rst2man-indent0]
12 | \\n[rst2man-indent1]
13 | \\n[rst2man-indent2]
14 | ..
15 | .de1 INDENT
16 | .\" .rstReportMargin pre:
17 | . RS \\$1
18 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
19 | . nr rst2man-indent-level +1
20 | .\" .rstReportMargin post:
21 | ..
22 | .de UNINDENT
23 | . RE
24 | .\" indent \\n[an-margin]
25 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
26 | .nr rst2man-indent-level -1
27 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29 | ..
30 | .TH "BARMAN-TERMINATE-PROCESS" "1" "May 15, 2024" "3.14" "Barman"
31 | .SH NAME
32 | barman-terminate-process \- Barman Sub-Commands
33 | .SH SYNOPSIS
34 | .INDENT 0.0
35 | .INDENT 3.5
36 | .sp
37 | .EX
38 | terminate\-process SERVER_NAME TASK_NAME
39 | .EE
40 | .UNINDENT
41 | .UNINDENT
42 | .SH DESCRIPTION
43 | .sp
44 | The \fBbarman terminate\-process\fP command terminates an active Barman subprocess on a
45 | specified server. The target process is identified by its task name (for example, \fBbackup\fP
46 | or \fBreceive\-wal\fP). Note that only processes that are running on the server level can be
47 | terminated, so global processes like \fBcron\fP or \fBconfig\-update\fP can not be terminated
48 | by this command.
49 | .sp
50 | You can also use the output of \fBbarman list\-processes\fP to display all active processes
51 | for a given server and determine which tasks can be terminated. More details about this
52 | command can be found in \fI\%barman list\-processes\fP\&.
53 | .SH PARAMETERS
54 | .INDENT 0.0
55 | .TP
56 | .B \fBSERVER_NAME\fP
57 | The name of the server where the subprocess is running.
58 | .TP
59 | .B \fBTASK_NAME\fP
60 | The task name that identifies the subprocess to be terminated.
61 | .UNINDENT
62 | .SH AUTHOR
63 | EnterpriseDB
64 | .SH COPYRIGHT
65 | © Copyright EnterpriseDB UK Limited 2011-2025
66 | .\" Generated by docutils manpage writer.
67 | .
68 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-verify-backup.1:
--------------------------------------------------------------------------------
1 | '\" t
2 | .\" Man page generated from reStructuredText.
3 | .
4 | .
5 | .nr rst2man-indent-level 0
6 | .
7 | .de1 rstReportMargin
8 | \\$1 \\n[an-margin]
9 | level \\n[rst2man-indent-level]
10 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
11 | -
12 | \\n[rst2man-indent0]
13 | \\n[rst2man-indent1]
14 | \\n[rst2man-indent2]
15 | ..
16 | .de1 INDENT
17 | .\" .rstReportMargin pre:
18 | . RS \\$1
19 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
20 | . nr rst2man-indent-level +1
21 | .\" .rstReportMargin post:
22 | ..
23 | .de UNINDENT
24 | . RE
25 | .\" indent \\n[an-margin]
26 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
27 | .nr rst2man-indent-level -1
28 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
29 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
30 | ..
31 | .TH "BARMAN-VERIFY-BACKUP" "1" "May 15, 2024" "3.14" "Barman"
32 | .SH NAME
33 | barman-verify-backup \- Barman Sub-Commands
34 | .SH SYNOPSIS
35 | .INDENT 0.0
36 | .INDENT 3.5
37 | .sp
38 | .EX
39 | verify\-backup
40 | [ { \-h | \-\-help } ]
41 | SERVER_NAME BACKUP_ID
42 | .EE
43 | .UNINDENT
44 | .UNINDENT
45 | .SH DESCRIPTION
46 | .sp
47 | Runs \fBpg_verifybackup\fP on a backup manifest file (available since Postgres version 13).
48 | For rsync backups, it can be used after creating a manifest file using the
49 | \fBgenerate\-manifest\fP command. Requires \fBpg_verifybackup\fP to be installed on the
50 | backup server. You can use a shortcut instead of \fBBACKUP_ID\fP\&.
51 | .SH PARAMETERS
52 | .INDENT 0.0
53 | .TP
54 | .B \fBSERVER_NAME\fP
55 | Name of the server in barman node
56 | .TP
57 | .B \fBBACKUP_ID\fP
58 | Id of the backup in barman catalog.
59 | .TP
60 | .B \fB\-h\fP / \fB\-\-help\fP
61 | Show a help message and exit. Provides information about command usage.
62 | .UNINDENT
63 | .SH SHORTCUTS
64 | .sp
65 | For some commands, instead of using the timestamp backup ID, you can use the following
66 | shortcuts or aliases to identify a backup for a given server:
67 | .TS
68 | box center;
69 | l|l.
70 | T{
71 | \fBShortcut\fP
72 | T} T{
73 | \fBDescription\fP
74 | T}
75 | _
76 | T{
77 | \fBfirst/oldest\fP
78 | T} T{
79 | Oldest available backup for the server, in chronological order.
80 | T}
81 | _
82 | T{
83 | \fBlast/latest\fP
84 | T} T{
85 | Most recent available backup for the server, in chronological order.
86 | T}
87 | _
88 | T{
89 | \fBlast\-full/latest\-full\fP
90 | T} T{
91 | Most recent full backup taken with methods \fBrsync\fP or \fBpostgres\fP\&.
92 | T}
93 | _
94 | T{
95 | \fBlast\-failed\fP
96 | T} T{
97 | Most recent backup that failed, in chronological order.
98 | T}
99 | .TE
100 | .SH AUTHOR
101 | EnterpriseDB
102 | .SH COPYRIGHT
103 | © Copyright EnterpriseDB UK Limited 2011-2025
104 | .\" Generated by docutils manpage writer.
105 | .
106 |
--------------------------------------------------------------------------------
/docs/_build/man/barman-verify.1:
--------------------------------------------------------------------------------
1 | .\" Man page generated from reStructuredText.
2 | .
3 | .
4 | .nr rst2man-indent-level 0
5 | .
6 | .de1 rstReportMargin
7 | \\$1 \\n[an-margin]
8 | level \\n[rst2man-indent-level]
9 | level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
10 | -
11 | \\n[rst2man-indent0]
12 | \\n[rst2man-indent1]
13 | \\n[rst2man-indent2]
14 | ..
15 | .de1 INDENT
16 | .\" .rstReportMargin pre:
17 | . RS \\$1
18 | . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
19 | . nr rst2man-indent-level +1
20 | .\" .rstReportMargin post:
21 | ..
22 | .de UNINDENT
23 | . RE
24 | .\" indent \\n[an-margin]
25 | .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
26 | .nr rst2man-indent-level -1
27 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29 | ..
30 | .TH "BARMAN-VERIFY" "1" "May 15, 2024" "3.14" "Barman"
31 | .SH NAME
32 | barman-verify \- Barman Sub-Commands
33 | .SH DESCRIPTION
34 | .sp
35 | Alias for \fBverify\-backup\fP command.
36 | .SH AUTHOR
37 | EnterpriseDB
38 | .SH COPYRIGHT
39 | © Copyright EnterpriseDB UK Limited 2011-2025
40 | .\" Generated by docutils manpage writer.
41 | .
42 |
--------------------------------------------------------------------------------
/docs/barman.conf:
--------------------------------------------------------------------------------
1 | ; Barman, Backup and Recovery Manager for PostgreSQL
2 | ; http://www.pgbarman.org/ - http://www.enterprisedb.com/
3 | ;
4 | ; Main configuration file
5 |
6 | [barman]
7 | ; System user
8 | barman_user = barman
9 |
10 | ; Directory of configuration files. Place your sections in separate files with .conf extension
11 | ; For example place the 'main' server section in /etc/barman.d/main.conf
12 | configuration_files_directory = /etc/barman.d
13 |
14 | ; Main directory
15 | barman_home = /var/lib/barman
16 |
17 | ; Locks directory - default: %(barman_home)s
18 | ;barman_lock_directory = /var/run/barman
19 |
20 | ; Log location
21 | log_file = /var/log/barman/barman.log
22 |
23 | ; Log level (see https://docs.python.org/3/library/logging.html#levels)
24 | log_level = INFO
25 |
26 | ; Default compression level: possible values are None (default), bzip2, gzip, pigz, pygzip or pybzip2
27 | ;compression = gzip
28 |
29 | ; Pre/post backup hook scripts
30 | ;pre_backup_script = env | grep ^BARMAN
31 | ;pre_backup_retry_script = env | grep ^BARMAN
32 | ;post_backup_retry_script = env | grep ^BARMAN
33 | ;post_backup_script = env | grep ^BARMAN
34 |
35 | ; Pre/post archive hook scripts
36 | ;pre_archive_script = env | grep ^BARMAN
37 | ;pre_archive_retry_script = env | grep ^BARMAN
38 | ;post_archive_retry_script = env | grep ^BARMAN
39 | ;post_archive_script = env | grep ^BARMAN
40 |
41 | ; Pre/post delete scripts
42 | ;pre_delete_script = env | grep ^BARMAN
43 | ;pre_delete_retry_script = env | grep ^BARMAN
44 | ;post_delete_retry_script = env | grep ^BARMAN
45 | ;post_delete_script = env | grep ^BARMAN
46 |
47 | ; Pre/post wal delete scripts
48 | ;pre_wal_delete_script = env | grep ^BARMAN
49 | ;pre_wal_delete_retry_script = env | grep ^BARMAN
50 | ;post_wal_delete_retry_script = env | grep ^BARMAN
51 | ;post_wal_delete_script = env | grep ^BARMAN
52 |
53 | ; Global bandwidth limit in kilobytes per second - default 0 (meaning no limit)
54 | ;bandwidth_limit = 4000
55 |
56 | ; Number of parallel jobs for backup and recovery via rsync (default 1)
57 | ;parallel_jobs = 1
58 |
59 | ; Immediate checkpoint for backup command - default false
60 | ;immediate_checkpoint = false
61 |
62 | ; Enable network compression for data transfers - default false
63 | ;network_compression = false
64 |
65 | ; Number of retries of data copy during base backup after an error - default 0
66 | ;basebackup_retry_times = 0
67 |
68 | ; Number of seconds of wait after a failed copy, before retrying - default 30
69 | ;basebackup_retry_sleep = 30
70 |
71 | ; Maximum execution time, in seconds, per server
72 | ; for a barman check command - default 30
73 | ;check_timeout = 30
74 |
75 | ; Time frame that must contain the latest backup date.
76 | ; If the latest backup is older than the time frame, barman check
77 | ; command will report an error to the user.
78 | ; If empty, the latest backup is always considered valid.
79 | ; Syntax for this option is: "i (DAYS | WEEKS | MONTHS | HOURS)" where i is an
80 | ; integer > 0 which identifies the number of days | weeks | months of
81 | ; validity of the latest backup for this check. Also known as 'smelly backup'.
82 | ;last_backup_maximum_age =
83 |
84 | ; Time frame that must contain the latest WAL file
85 | ; If the latest WAL file is older than the time frame, barman check
86 | ; command will report an error to the user.
87 | ; Syntax for this option is: "i (DAYS | WEEKS | MONTHS | HOURS)" where i is an
88 | ; integer > 0
89 | ;last_wal_maximum_age =
90 |
91 | ; Minimum number of required backups (redundancy)
92 | ;minimum_redundancy = 1
93 |
94 | ; Global retention policy (REDUNDANCY or RECOVERY WINDOW)
95 | ; Examples of retention policies
96 | ; Retention policy (disabled, default)
97 | ;retention_policy =
98 | ; Retention policy (based on redundancy)
99 | ;retention_policy = REDUNDANCY 2
100 | ; Retention policy (based on recovery window)
101 | ;retention_policy = RECOVERY WINDOW OF 4 WEEKS
102 |
--------------------------------------------------------------------------------
/docs/barman.d/passive-server.conf-template:
--------------------------------------------------------------------------------
1 | ; Barman, Backup and Recovery Manager for PostgreSQL
2 | ; https://www.pgbarman.org/ - https://www.enterprisedb.com/
3 | ;
4 | ; Template configuration file for a server using
5 | ; SSH connections and rsync for copy.
6 | ;
7 |
8 | [passive]
9 | ; Human readable description
10 | description = "Example of a Barman passive server"
11 |
12 | ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
13 | ; Passive server configuration
14 | ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
15 |
16 | ; Local parameter that identifies a barman server as 'passive'.
17 | ; A passive node uses as source for backups another barman server
18 | ; instead of a PostgreSQL cluster.
19 | ; If a primary ssh command is specified, barman will use it to establish a
20 | ; connection with the barman "master" server.
21 | ; Empty by default it can be also set as global value.
22 | primary_ssh_command = ssh barman@backup
23 |
24 | ; Incremental backup settings
25 | ;reuse_backup = link
26 |
27 | ; Compression: must be identical to the source
28 | ;compression = gzip
29 |
--------------------------------------------------------------------------------
/docs/barman.d/ssh-server.conf-template:
--------------------------------------------------------------------------------
1 | ; Barman, Backup and Recovery Manager for PostgreSQL
2 | ; https://www.pgbarman.org/ - https://www.enterprisedb.com/
3 | ;
4 | ; Template configuration file for a server using
5 | ; SSH connections and rsync for copy.
6 | ;
7 |
8 | [ssh]
9 | ; Human readable description
10 | description = "Example of PostgreSQL Database (via SSH)"
11 |
12 | ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
13 | ; SSH options (mandatory)
14 | ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
15 | ssh_command = ssh postgres@pg
16 |
17 | ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
18 | ; PostgreSQL connection string (mandatory)
19 | ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
20 | conninfo = host=pg user=barman dbname=postgres
21 |
22 | ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
23 | ; Backup settings (via rsync over SSH)
24 | ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
25 | backup_method = rsync
26 | ; Incremental backup support: possible values are None (default), link or copy
27 | ;reuse_backup = link
28 | ; Identify the standard behavior for backup operations: possible values are
29 | ; exclusive_backup, concurrent_backup (default)
30 | ; concurrent_backup is the preferred method
31 | backup_options = concurrent_backup
32 |
33 | ; Number of parallel workers to perform file copy during backup and recover
34 | ;parallel_jobs = 1
35 |
36 | ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
37 | ; Continuous WAL archiving (via 'archive_command')
38 | ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
39 | archiver = on
40 | ;archiver_batch_size = 50
41 |
42 | ; PATH setting for this server
43 | ;path_prefix = "/usr/pgsql-12/bin"
44 |
--------------------------------------------------------------------------------
/docs/barman.d/streaming-server.conf-template:
--------------------------------------------------------------------------------
1 | ; Barman, Backup and Recovery Manager for PostgreSQL
2 | ; https://www.pgbarman.org/ - https://www.enterprisedb.com/
3 | ;
4 | ; Template configuration file for a server using
5 | ; only streaming replication protocol
6 | ;
7 |
8 | [streaming-server]
9 | ; Human readable description
10 | description = "Example of PostgreSQL Database (Streaming-Only)"
11 |
12 | ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
13 | ; PostgreSQL connection string (mandatory)
14 | ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
15 | conninfo = host=pg user=barman dbname=postgres
16 |
17 | ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
18 | ; PostgreSQL streaming connection string
19 | ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
20 | ; To be used by pg_basebackup for backup and pg_receivewal for WAL streaming
21 | ; NOTE: streaming_barman is a regular user with REPLICATION privilege
22 | streaming_conninfo = host=pg user=streaming_barman
23 |
24 | ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
25 | ; Backup settings (via pg_basebackup)
26 | ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
27 | backup_method = postgres
28 | ;streaming_backup_name = barman_streaming_backup
29 |
30 | ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
31 | ; WAL streaming settings (via pg_receivewal)
32 | ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
33 | streaming_archiver = on
34 | slot_name = barman
35 | ;create_slot = auto
36 | ;streaming_archiver_name = barman_receive_wal
37 | ;streaming_archiver_batch_size = 50
38 |
39 | ; Uncomment the following line if you are also using archive_command
40 | ; otherwise the "empty incoming directory" check will fail
41 | ;archiver = on
42 |
43 | ; PATH setting for this server
44 | ;path_prefix = "/usr/pgsql-12/bin"
45 |
--------------------------------------------------------------------------------
/docs/build/build:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # This script resides in this path because it is responsible for building documentation
4 | # via github actions. It uses the ../Dockerfile and there is no other use for it.
5 |
6 | # © Copyright EnterpriseDB UK Limited 2011-2025
7 | #
8 | # This file is part of Barman.
9 | #
10 | # Barman is free software: you can redistribute it and/or modify
11 | # it under the terms of the GNU General Public License as published by
12 | # the Free Software Foundation, either version 3 of the License, or
13 | # (at your option) any later version.
14 | #
15 | # Barman is distributed in the hope that it will be useful,
16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 | # GNU General Public License for more details.
19 | #
20 | # You should have received a copy of the GNU General Public License
21 | # along with Barman. If not, see .
22 |
23 | set -xeu
24 |
25 | DOCDIR="${BASEDIR}/docs"
26 | DISTDIR="${DOCDIR}/dist"
27 |
28 | USERMAP=$(docker run --rm -v "${BASEDIR}":"${BASEDIR}" "${SPHINX_IMAGE}" \
29 | stat -c %u:%g "${BASEDIR}")
30 | docker run --rm -u "${USERMAP}" -w "$(pwd)" -v "${BASEDIR}:${BASEDIR}" \
31 | "$SPHINX_IMAGE" tox -e docs -- html latexpdf
32 |
33 | pwd
34 | ls
35 | mkdir -p "${DISTDIR}"
36 | cp -va "${DOCDIR}"/_build/html/* "${DISTDIR}"
37 | cp -va "${DOCDIR}"/_build/latex/Barman.pdf "${DISTDIR}"/manual.pdf
38 |
--------------------------------------------------------------------------------
/docs/contributor_guide/index.rst:
--------------------------------------------------------------------------------
1 | .. _contributor_guide:
2 |
3 | Contributing to Barman
4 | ======================
5 |
6 | Barman is an open-source project and we welcome contributions from the community.
7 |
8 | Follow these guidelines when playing with Barman code and contributing patches to the
9 | project.
10 |
11 | .. toctree::
12 |
13 | setting_up_dev_env
14 | writing_code
15 | writing_tests
16 | writing_docs
17 | opening_pr
18 | Barman API docs
19 |
--------------------------------------------------------------------------------
/docs/contributor_guide/opening_pr.rst:
--------------------------------------------------------------------------------
1 | .. _opening_pr:
2 |
3 | Opening a PR
4 | ============
5 |
--------------------------------------------------------------------------------
/docs/contributor_guide/setting_up_dev_env.rst:
--------------------------------------------------------------------------------
1 | .. _setting_up_dev_env:
2 |
3 | Setting up a development installation
4 | =====================================
--------------------------------------------------------------------------------
/docs/contributor_guide/writing_code.rst:
--------------------------------------------------------------------------------
1 | .. _writing_code:
2 |
3 | Writing code
4 | ============
5 |
--------------------------------------------------------------------------------
/docs/contributor_guide/writing_tests.rst:
--------------------------------------------------------------------------------
1 | .. _writing_tests:
2 |
3 | Writing and running tests
4 | =========================
5 |
--------------------------------------------------------------------------------
/docs/images/barman-full-streaming.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EnterpriseDB/barman/f025f142ffe5c26bc435a941dab2942b608fe457/docs/images/barman-full-streaming.png
--------------------------------------------------------------------------------
/docs/images/barman-georedundancy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EnterpriseDB/barman/f025f142ffe5c26bc435a941dab2942b608fe457/docs/images/barman-georedundancy.png
--------------------------------------------------------------------------------
/docs/images/barman-multilocation-georedundancy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EnterpriseDB/barman/f025f142ffe5c26bc435a941dab2942b608fe457/docs/images/barman-multilocation-georedundancy.png
--------------------------------------------------------------------------------
/docs/images/barman-remote-copy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EnterpriseDB/barman/f025f142ffe5c26bc435a941dab2942b608fe457/docs/images/barman-remote-copy.png
--------------------------------------------------------------------------------
/docs/images/barman-rsync-backup-receivewal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EnterpriseDB/barman/f025f142ffe5c26bc435a941dab2942b608fe457/docs/images/barman-rsync-backup-receivewal.png
--------------------------------------------------------------------------------
/docs/index.rst:
--------------------------------------------------------------------------------
1 | .. _index:
2 |
3 | Table of contents
4 | =================
5 |
6 | .. toctree::
7 | :maxdepth: 1
8 |
9 | User guide
10 | Contributor guide
11 | Release notes
12 | FAQ
13 | License
14 |
--------------------------------------------------------------------------------
/docs/index_pdf.rst:
--------------------------------------------------------------------------------
1 | .. _index_pdf:
2 |
3 | Table of contents
4 | =================
5 |
6 | .. toctree::
7 | :maxdepth: 4
8 |
9 | User guide
10 | Contributor guide
11 | Release notes
12 | FAQ
13 | License
14 |
--------------------------------------------------------------------------------
/docs/license/index.rst:
--------------------------------------------------------------------------------
1 | .. _license:
2 |
3 | License
4 | =======
5 |
6 | Barman is owned by EnterpriseDB UK Limited and is licensed under the GNU General Public
7 | License v3.
8 |
9 | Barman has initially received partial funding from 4CaaSt, a research project supported
10 | by the European Commission's Seventh Framework Programme.
11 |
12 | We welcome contributions to Barman. These contributions will be acknowledged in the
13 | release notes. To ensure that all Barman code remains free, EnterpriseDB UK Limited
14 | requires contributors to complete a copyright assignment and to disclaim any
15 | work-for-hire claims from their employers. For a Copyright Assignment Form, please
16 | contact barman@enterprisedb.com.
17 |
18 | © Copyright EnterpriseDB UK Limited 2011-2025
19 |
--------------------------------------------------------------------------------
/docs/releases/index.rst:
--------------------------------------------------------------------------------
1 | .. _releases:
2 |
3 | Releases Notes
4 | ==============
5 |
6 | .. include:: ../../RELNOTES.md
7 | :parser: myst_parser.sphinx_
--------------------------------------------------------------------------------
/docs/user_guide/commands.rst:
--------------------------------------------------------------------------------
1 | .. _commands:
2 |
3 | Commands Reference
4 | ==================
5 |
6 | Barman has a command-line interface named ``barman``, which is used basically to
7 | interact with Barman's backend.
8 |
9 | Before jumping into each of the sub-commands of ``barman``, be aware that ``barman``
10 | has global options available for all of the sub-commands. These options can modify the
11 | behavior of the sub-commands and can be used as follows:
12 |
13 | .. include:: commands/barman/barman.inc.rst
14 |
15 | Shortcuts
16 | ---------
17 |
18 | For some commands, you can use the following shortcuts or aliases to identify a backup
19 | for a given server. Specifically, the ``all`` shortcut can be used to identify all
20 | servers:
21 |
22 | .. list-table::
23 | :widths: 25 100
24 | :header-rows: 1
25 |
26 | * - **Shortcut**
27 | - **Description**
28 | * - **all**
29 | - All available servers
30 | * - **first/oldest**
31 | - Oldest available backup for the server, in chronological order.
32 | * - **last/latest**
33 | - Most recent available backup for the server, in chronological order.
34 | * - **last-full/latest-full**
35 | - Most recent full backup taken with methods ``rsync`` or ``postgres``.
36 | * - **last-failed**
37 | - Most recent backup that failed, in chronological order.
38 |
39 | Exit Statuses
40 | -------------
41 |
42 | Status code **0** means **success**, while status code **Non-Zero** means **failure**.
43 |
44 | .. _commands-sub-commands:
45 |
46 | Sub-Commands
47 | ------------
48 |
49 | ``barman`` exposes several handy operations. This section is intended to describe each
50 | of them.
51 |
52 | In the following sections you can find a description of each command implemented by
53 | ``barman``. Some of these commands may have more detailed information in another main
54 | section in this documentation. If that is the case, a reference is provided to help you
55 | quickly navigate to it.
56 |
57 | .. include:: commands/barman/archive_wal.inc.rst
58 | .. include:: commands/barman/backup.inc.rst
59 | .. include:: commands/barman/check_backup.inc.rst
60 | .. include:: commands/barman/check.inc.rst
61 | .. include:: commands/barman/config_switch.inc.rst
62 | .. include:: commands/barman/config_update.inc.rst
63 | .. include:: commands/barman/cron.inc.rst
64 | .. include:: commands/barman/delete.inc.rst
65 | .. include:: commands/barman/diagnose.inc.rst
66 | .. include:: commands/barman/generate_manifest.inc.rst
67 | .. include:: commands/barman/get_wal.inc.rst
68 | .. include:: commands/barman/keep.inc.rst
69 | .. include:: commands/barman/list_backups.inc.rst
70 | .. include:: commands/barman/list_files.inc.rst
71 | .. include:: commands/barman/list_processes.inc.rst
72 | .. include:: commands/barman/list_servers.inc.rst
73 | .. include:: commands/barman/lock_directory_cleanup.inc.rst
74 | .. include:: commands/barman/put_wal.inc.rst
75 | .. include:: commands/barman/rebuild_xlogdb.inc.rst
76 | .. include:: commands/barman/recover.inc.rst
77 | .. include:: commands/barman/receive_wal.inc.rst
78 | .. include:: commands/barman/restore.inc.rst
79 | .. include:: commands/barman/replication_status.inc.rst
80 | .. include:: commands/barman/show_backup.inc.rst
81 | .. include:: commands/barman/show_servers.inc.rst
82 | .. include:: commands/barman/status.inc.rst
83 | .. include:: commands/barman/switch_wal.inc.rst
84 | .. include:: commands/barman/switch_xlog.inc.rst
85 | .. include:: commands/barman/sync_backup.inc.rst
86 | .. include:: commands/barman/sync_info.inc.rst
87 | .. include:: commands/barman/sync_wals.inc.rst
88 | .. include:: commands/barman/terminate_process.inc.rst
89 | .. include:: commands/barman/verify_backup.inc.rst
90 | .. include:: commands/barman/verify.inc.rst
91 |
92 | ``barman-cli`` commands
93 | -----------------------
94 |
95 | The ``barman-cli`` package includes a collection of recommended client utilities that
96 | should be installed alongside the Postgres server. Here are the command references for
97 | both utilities.
98 |
99 | .. include:: commands/barman_cli/wal_archive.inc.rst
100 | .. include:: commands/barman_cli/wal_restore.inc.rst
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/archive_wal.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-archive-wal:
2 |
3 | ``barman archive-wal``
4 | """"""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | archive-wal
12 | [ { -h | --help } ]
13 | SERVER_NAME
14 |
15 | Description
16 | ^^^^^^^^^^^
17 |
18 | Fetch WAL files received from either the standard ``archive_command`` or streaming
19 | replication with ``pg_receivewal`` and store them in the server's WAL archive. If you
20 | have enabled ``compression`` in the configuration file, the WAL files will be compressed
21 | before they are archived.
22 |
23 | Parameters
24 | ^^^^^^^^^^
25 |
26 | ``SERVER_NAME``
27 | Name of the server in barman node.
28 |
29 | ``-h`` / ``--help``
30 | Show a help message and exit. Provides information about command usage.
31 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/barman.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman:
2 |
3 | ``barman``
4 | ----------
5 |
6 | Synopsis
7 | """"""""
8 |
9 | .. code-block:: text
10 |
11 | barman
12 | [ { -c | --config } CONFIG ]
13 | [ { --color | --colour } { never | always | auto } ]
14 | [ { -d | --debug } ]
15 | [ { -f | --format } { json | console } ]
16 | [ { -h | --help } ]
17 | [ --log-level { NOTSET | DEBUG | INFO | WARNING | ERROR | CRITICAL } ]
18 | [ { -q | --quiet } ]
19 | [ { -v | --version } ]
20 | [ SUBCOMMAND ]
21 |
22 | .. note::
23 |
24 | This is the syntax for the synopsis:
25 |
26 | * Options between square brackets are optional.
27 | * Options between curly brackets represent a choose one of set operation.
28 | * Options with ``[ ... ]`` can be specified multiple times.
29 | * Things written in uppercase represent a literal that should be given a value to.
30 |
31 | We will use this same syntax when describing ``barman`` sub-commands in the
32 | following sections.
33 |
34 | Also, when describing sub-commands in the following sections, the commands'
35 | synopsis should be seen as a replacement for the ``SUBCOMMAND``.
36 |
37 | Parameters
38 | """"""""""
39 |
40 | ``-c`` / ``--config CONFIG``
41 | Specify the configuration file to be used. Defaults to ``/etc/barman.conf`` if
42 | not provided.
43 |
44 | ``--color`` / ``--colour { never | always | auto }``
45 | Control whether to use colors in the output. The default is ``auto``. Options are:
46 |
47 | * ``never``: Do not use color.
48 | * ``always``: Always use color.
49 | * ``auto``: Use color if the output is to a terminal.
50 |
51 | ``-d`` / ``--debug``
52 | Enable debug output. Default is ``false``. Provides detailed logging information for
53 | troubleshooting.
54 |
55 | ``-f`` / ``--format { json | console }``
56 | Specify the output format. Options are:
57 |
58 | * ``json``: Output in JSON format.
59 | * ``console``: Output in human-readable format (default).
60 |
61 | ``-h`` / ``--help``
62 | Show a help message and exit. Provides information about command usage.
63 |
64 | ``--log-level { NOTSET | DEBUG | INFO | WARNING | ERROR | CRITICAL }``
65 | Override the default logging level. Options are:
66 |
67 | * ``NOTSET``: This is the default level when no specific logging level is set. It
68 | essentially means "no filtering" of log messages, allowing all messages to be
69 | processed according to the levels that are set in the configuration.
70 | * ``DEBUG``: This level is used for detailed, diagnostic information, often
71 | useful for developers when diagnosing problems. It includes messages that are
72 | more granular and detailed, intended to help trace the execution of the
73 | program.
74 | * ``INFO``: This level provides general information about the application's
75 | normal operation. It's used for messages that indicate the progress of the
76 | application or highlight key points in the execution flow that are useful but
77 | not indicative of any issues.
78 | * ``WARNING``: This level indicates that something unexpected happened or that
79 | there might be a potential problem. It's used for messages that are not
80 | critical but could be of concern, signaling that attention might be needed.
81 | * ``ERROR``: This level is used when an error occurs that prevents a particular
82 | operation from completing successfully. It's used to indicate significant
83 | issues that need to be addressed but do not necessarily stop the application
84 | from running.
85 | * ``CRITICAL``: This is the highest level of severity, indicating a serious
86 | error that has likely caused the application to terminate or will have severe
87 | consequences if not addressed immediately. It's used for critical issues that
88 | demand urgent attention.
89 |
90 | ``-q`` / ``--quiet``
91 | Suppress all output. Useful for cron jobs or automated scripts.
92 |
93 | ``-v`` / ``--version``
94 | Show the program version number and exit.
95 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/check.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-check:
2 |
3 | ``barman check``
4 | """"""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | check
12 | [ { -h | --help } ]
13 | [ --nagios ]
14 | SERVER_NAME [ SERVER_NAME ... ]
15 |
16 | Description
17 | ^^^^^^^^^^^
18 |
19 | Display status information about a server, such as SSH connection, Postgres version,
20 | configuration and backup directories, archiving and streaming processes, replication
21 | slots, and more. Use ``all`` as shortcut to show diagnostic information for all
22 | configured servers.
23 |
24 | Parameters
25 | ^^^^^^^^^^
26 |
27 | ``SERVER_NAME``
28 | Name of the server in barman node.
29 |
30 | ``-h`` / ``--help``
31 | Show a help message and exit. Provides information about command usage.
32 |
33 | ``--nagios``
34 | Nagios plugin compatible output.
35 |
36 | .. only:: man
37 |
38 | Shortcuts
39 | ^^^^^^^^^
40 |
41 | Use shortcuts instead of ``SERVER_NAME``.
42 |
43 | .. list-table::
44 | :widths: 25 100
45 | :header-rows: 1
46 |
47 | * - **Shortcut**
48 | - **Description**
49 | * - **all**
50 | - All available servers
51 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/check_backup.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-check-backup:
2 |
3 | ``barman check-backup``
4 | """""""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | check-backup
12 | [ { -h | --help } ]
13 | SERVER_NAME BACKUP_ID
14 |
15 | Description
16 | ^^^^^^^^^^^
17 |
18 | Check that all necessary WAL files for verifying the consistency of a physical backup are
19 | properly archived. This command is automatically executed by the cron job and at the end
20 | of each backup operation. You can use a shortcut instead of ``BACKUP_ID``.
21 |
22 | Parameters
23 | ^^^^^^^^^^
24 |
25 | ``SERVER_NAME``
26 | Name of the server in barman node.
27 |
28 | ``BACKUP_ID``
29 | Id of the backup in barman catalog.
30 |
31 | ``-h`` / ``--help``
32 | Show a help message and exit. Provides information about command usage.
33 |
34 | .. only:: man
35 |
36 | Shortcuts
37 | ^^^^^^^^^
38 |
39 | Use shortcuts instead of ``BACKUP_ID``.
40 |
41 | .. list-table::
42 | :widths: 25 100
43 | :header-rows: 1
44 |
45 | * - **Shortcut**
46 | - **Description**
47 | * - **first/oldest**
48 | - Oldest available backup for the server, in chronological order.
49 | * - **last/latest**
50 | - Most recent available backup for the server, in chronological order.
51 | * - **last-full/latest-full**
52 | - Most recent full backup taken with methods ``rsync`` or ``postgres``.
53 | * - **last-failed**
54 | - Most recent backup that failed, in chronological order.
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/config_switch.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-config-switch:
2 |
3 | ``barman config-switch``
4 | """"""""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | config-switch
12 | [ { -h | --help } ]
13 | SERVER_NAME { --reset | MODEL_NAME }
14 |
15 | Description
16 | ^^^^^^^^^^^
17 |
18 | Apply a set of configuration overrides from the model to a server in Barman. The final
19 | configuration will combine or override the server's existing settings with the ones
20 | specified in the model. You can reset the server configurations with the ``--reset``
21 | argument.
22 |
23 | .. note::
24 | Only one model can be active at a time for a given server.
25 |
26 | Parameters
27 | ^^^^^^^^^^
28 |
29 | ``SERVER_NAME``
30 | Name of the server in barman node.
31 |
32 | ``MODEL_NAME``
33 | Name of the model.
34 |
35 | ``-h`` / ``--help``
36 | Show a help message and exit. Provides information about command usage.
37 |
38 | ``--reset``
39 | Reset the server's configurations.
40 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/config_update.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-config-update:
2 |
3 | ``barman config-update``
4 | """"""""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | config-update
12 | [ { -h | --help } ]
13 | STRING
14 |
15 | Description
16 | ^^^^^^^^^^^
17 |
18 | Create or update the configurations for servers and/or models in Barman. The parameter
19 | should be a JSON string containing an array of documents. Each document must include a
20 | ``scope`` key, which can be either server or model, and either a ``server_name`` or
21 | ``model_name`` key, depending on the scope value. Additionally, the document should
22 | include other keys representing Barman configuration options and their desired values.
23 |
24 | .. note::
25 | The barman ``config-update`` command writes configuration options to a file named
26 | ``.barman.auto.conf``, located in the ``barman_home`` directory. This configuration
27 | file has higher precedence and will override values from the global Barman
28 | configuration file (usually ``/etc/barman.conf``) and from any included files specified
29 | in ``configuration_files_directory`` (typically files in ``/etc/barman.d``). Be aware
30 | of this if you decide to manually modify configuration options in those files later.
31 |
32 | Parameters
33 | ^^^^^^^^^^
34 |
35 | ``STRING``
36 | List of JSON formatted string.
37 |
38 | ``-h`` / ``--help``
39 | Show a help message and exit. Provides information about command usage.
40 |
41 | Example
42 | ^^^^^^^
43 |
44 | ``JSON_STRING='[{“scope”: “server”, “server_name”: “my_server”, “archiver”:
45 | “on”, “streaming_archiver”: “off”}]'``
46 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/cron.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-cron:
2 |
3 | ``barman cron``
4 | """""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | cron
12 | [ { -h | --help } ]
13 | [ --keep-descriptors ]
14 |
15 | Description
16 | ^^^^^^^^^^^
17 |
18 | Carry out maintenance tasks, such as enforcing retention policies or managing WAL files.
19 |
20 | Parameters
21 | ^^^^^^^^^^
22 |
23 | ``-h`` / ``--help``
24 | Show a help message and exit. Provides information about command usage.
25 |
26 | ``--keep-descriptors``
27 | Keep the ^stdout^ and ^stderr^ streams of the Barman subprocesses connected to the
28 | main process. This is especially useful for Docker-based installations.
29 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/delete.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-delete:
2 |
3 | ``barman delete``
4 | """""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | delete
12 | [ { -h | --help } ]
13 | SERVER_NAME BACKUP_ID
14 |
15 | Description
16 | ^^^^^^^^^^^
17 |
18 | Delete the specified backup. You can use a shortcut instead of ``BACKUP_ID``.
19 |
20 | Parameters
21 | ^^^^^^^^^^
22 |
23 | ``SERVER_NAME``
24 | Name of the server in barman node
25 |
26 | ``BACKUP_ID``
27 | Id of the backup in barman catalog.
28 |
29 | ``-h`` / ``--help``
30 | Show a help message and exit. Provides information about command usage.
31 |
32 | .. only:: man
33 |
34 | Shortcuts
35 | ^^^^^^^^^
36 |
37 | Use shortcuts instead of ``BACKUP_ID``.
38 |
39 | .. list-table::
40 | :widths: 25 100
41 | :header-rows: 1
42 |
43 | * - **Shortcut**
44 | - **Description**
45 | * - **first/oldest**
46 | - Oldest available backup for the server, in chronological order.
47 | * - **last/latest**
48 | - Most recent available backup for the server, in chronological order.
49 | * - **last-full/latest-full**
50 | - Most recent full backup taken with methods ``rsync`` or ``postgres``.
51 | * - **last-failed**
52 | - Most recent backup that failed, in chronological order.
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/diagnose.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-diagnose:
2 |
3 | ``barman diagnose``
4 | """""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | diagnose
12 | [ { -h | --help } ]
13 | [ --show-config-source ]
14 |
15 | Description
16 | ^^^^^^^^^^^
17 |
18 | Display diagnostic information about the Barman node, which is the server where Barman
19 | is installed, as well as all configured Postgres servers. This includes details such as
20 | global configuration, SSH version, Python version, rsync version, the current
21 | configuration and status of all servers, and many more.
22 |
23 | Parameters
24 | ^^^^^^^^^^
25 |
26 | ``-h`` / ``--help``
27 | Show a help message and exit. Provides information about command usage.
28 |
29 | ``--show-config-source``
30 | Include the source file which provides the effective value for each configuration
31 | option.
32 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/generate_manifest.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-generate-manifest:
2 |
3 | ``barman generate-manifest``
4 | """"""""""""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | generate-manifest
12 | [ { -h | --help } ]
13 | SERVER_NAME BACKUP_ID
14 |
15 | Description
16 | ^^^^^^^^^^^
17 |
18 | Generates a ``backup_manifest`` file for a backup. You can use a shortcut instead of
19 | ``BACKUP_ID``.
20 |
21 | Parameters
22 | ^^^^^^^^^^
23 |
24 | ``SERVER_NAME``
25 | Name of the server in barman node
26 |
27 | ``BACKUP_ID``
28 | Id of the backup in barman catalog.
29 |
30 | ``-h`` / ``--help``
31 | Show a help message and exit. Provides information about command usage.
32 |
33 | .. only:: man
34 |
35 | Shortcuts
36 | ^^^^^^^^^
37 |
38 | Use shortcuts instead of ``BACKUP_ID``.
39 |
40 | .. list-table::
41 | :widths: 25 100
42 | :header-rows: 1
43 |
44 | * - **Shortcut**
45 | - **Description**
46 | * - **first/oldest**
47 | - Oldest available backup for the server, in chronological order.
48 | * - **last/latest**
49 | - Most recent available backup for the server, in chronological order.
50 | * - **last-full/latest-full**
51 | - Most recent full backup taken with methods ``rsync`` or ``postgres``.
52 | * - **last-failed**
53 | - Most recent backup that failed, in chronological order.
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/get_wal.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-get-wal:
2 |
3 | ``barman get-wal``
4 | """"""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | get-wal
12 | [ { --bzip | -j } ]
13 | [ { --gzip | -z | -x } ]
14 | [ { -h | --help } ]
15 | [ --keep-compression ]
16 | [ { --output-directory | -o } OUTPUT_DIRECTORY ]
17 | [ { --peek | -p } VALUE ]
18 | [ { -P | --partial } ]
19 | [ { -t | --test } ]
20 | SERVER_NAME WAL_NAME
21 |
22 | Description
23 | ^^^^^^^^^^^
24 |
25 | Retrieve a WAL file from the xlog archive of a specified server. By default, if the
26 | requested WAL file is found, it is returned as uncompressed content to ``STDOUT``.
27 |
28 | Parameters
29 | ^^^^^^^^^^
30 |
31 | ``SERVER_NAME``
32 | Name of the server in barman node
33 |
34 | ``WAL_NAME``
35 | Id of the backup in barman catalog.
36 |
37 | ``--bzip2`` / ``-j``
38 | Output will be compressed using bzip2.
39 |
40 | ``--gzip`` / ``-z`` / ``-x``
41 | Output will be compressed using gzip.
42 |
43 | ``-h`` / ``--help``
44 | Show a help message and exit. Provides information about command usage.
45 |
46 | ``--keep-compression``
47 | Do not uncompress the file content. The output will be the original compressed
48 | file.
49 |
50 | ``--output-directory`` / ``-o``
51 | Destination directory where barman will store the WAL file.
52 |
53 | ``--peek`` / ``-p``
54 | Specify an integer value greater than or equal to 1 to retrieve WAL files from the
55 | specified WAL file up to the value specified by this parameter. When using this option,
56 | ``get-wal`` returns a list of zero to the specified WAL segment names, with one name
57 | per row.
58 |
59 | ``-P`` / ``--partial``
60 | Additionally, collect partial WAL files (.partial).
61 |
62 | ``-t`` / ``--test``
63 | Test both the connection and configuration of the specified Postgres server in
64 | Barman for WAL retrieval. When this option is used, the required ``WAL_NAME``
65 | argument is disregarded.
66 |
67 |
68 | .. warning::
69 |
70 | ``-z`` / ``--gzip`` and ``-j`` / ``--bzip2`` options are deprecated and will be
71 | removed in the future. For WAL compression, please make sure to enable it directly
72 | on the Barman server via the ``compression`` configuration option.
73 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/keep.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-keep:
2 |
3 | ``barman keep``
4 | """""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | keep
12 | [ { -h | --help } ]
13 | { { -r | --release } | { -s | --status } | --target { full | standalone } }
14 | SERVER_NAME BACKUP_ID
15 |
16 |
17 | Description
18 | ^^^^^^^^^^^
19 |
20 | Mark the specified backup with a ``target`` as an archival backup to be retained
21 | indefinitely, overriding any active retention policies. You can also check the keep
22 | ``status`` of a backup and ``release`` the keep mark from a backup. You can use a
23 | shortcut instead of ``BACKUP_ID``.
24 |
25 | Parameters
26 | ^^^^^^^^^^
27 |
28 | ``SERVER_NAME``
29 | Name of the server in barman node
30 |
31 | ``BACKUP_ID``
32 | Id of the backup in barman catalog.
33 |
34 | ``-h`` / ``--help``
35 | Show a help message and exit. Provides information about command usage.
36 |
37 | ``-r`` / ``--release``
38 | Release the keep mark from this backup. This will remove its archival status and
39 | make it available for deletion, either directly or by retention policy.
40 |
41 | ``-s`` / ``--status``
42 | Report the archival status of the backup. The status will be either ``full`` or
43 | ``standalone`` for archival backups, or ``nokeep`` for backups that have not been
44 | designated as archival.
45 |
46 | ``--target``
47 | Define the recovery target for the archival backup. The possible values are:
48 |
49 | * ``full``: The backup can be used to recover to the most recent point in time. To
50 | support this, Barman will keep all necessary WALs to maintain the backup's
51 | consistency as well as any subsequent WALs.
52 | * ``standalone``: The backup can only be used to restore the server to its state at the
53 | time of the backup. Barman will retain only the WALs required to ensure the
54 | backup's consistency.
55 |
56 | .. only:: man
57 |
58 | Shortcuts
59 | ^^^^^^^^^
60 |
61 | Use shortcuts instead of ``BACKUP_ID``.
62 |
63 | .. list-table::
64 | :widths: 25 100
65 | :header-rows: 1
66 |
67 | * - **Shortcut**
68 | - **Description**
69 | * - **first/oldest**
70 | - Oldest available backup for the server, in chronological order.
71 | * - **last/latest**
72 | - Most recent available backup for the server, in chronological order.
73 | * - **last-full/latest-full**
74 | - Most recent full backup taken with methods ``rsync`` or ``postgres``.
75 | * - **last-failed**
76 | - Most recent backup that failed, in chronological order.
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/list_backups.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-list-backups:
2 |
3 | ``barman list-backups``
4 | """""""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | list-backups
12 | [ { -h | --help } ]
13 | [ --minimal ]
14 | SERVER_NAME
15 |
16 | Description
17 | ^^^^^^^^^^^
18 |
19 | Display the available backups for a server. This command is useful for retrieving both
20 | the backup ID and the backup type. You can find details about this command in
21 | :ref:`Catalog usage `.
22 |
23 | Parameters
24 | ^^^^^^^^^^
25 |
26 | ``SERVER_NAME``
27 | Name of the server in barman node
28 |
29 | ``-h`` / ``--help``
30 | Show a help message and exit. Provides information about command usage.
31 |
32 | ``--minimal``
33 | Machine readable output.
34 |
35 | .. only:: man
36 |
37 | Shortcuts
38 | ^^^^^^^^^
39 |
40 | Use shortcuts instead of ``SERVER_NAME``.
41 |
42 | .. list-table::
43 | :widths: 25 100
44 | :header-rows: 1
45 |
46 | * - **Shortcut**
47 | - **Description**
48 | * - **all**
49 | - All available servers
50 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/list_files.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-list-files:
2 |
3 | ``barman list-files``
4 | """""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | list-files
12 | [ { -h | --help } ]
13 | [ --target { data | full | standalone | wal } ]
14 | SERVER_NAME BACKUP_ID
15 |
16 | Description
17 | ^^^^^^^^^^^
18 |
19 | List all files in a specific backup. You can use a shortcut instead of ``BACKUP_ID``.
20 |
21 | Parameters
22 | ^^^^^^^^^^
23 |
24 | ``SERVER_NAME``
25 | Name of the server in barman node
26 |
27 | ``BACKUP_ID``
28 | Id of the backup in barman catalog.
29 |
30 | ``-h`` / ``--help``
31 | Show a help message and exit. Provides information about command usage.
32 |
33 | ``--target``
34 | Define specific files to be listed. The possible values are:
35 |
36 | * ``standalone`` (default): List the base backup files, including required WAL files.
37 | * ``data``: List just the data files.
38 | * ``wal``: List all the WAL files between the start of the base backup and the end of
39 | the log or the start of the following base backup (depending on whether the
40 | specified base backup is the most recent one available).
41 | * ``full``: same as ``data`` + ``wal``.
42 |
43 | .. only:: man
44 |
45 | Shortcuts
46 | ^^^^^^^^^
47 |
48 | Use shortcuts instead of ``BACKUP_ID``.
49 |
50 | .. list-table::
51 | :widths: 25 100
52 | :header-rows: 1
53 |
54 | * - **Shortcut**
55 | - **Description**
56 | * - **first/oldest**
57 | - Oldest available backup for the server, in chronological order.
58 | * - **last/latest**
59 | - Most recent available backup for the server, in chronological order.
60 | * - **last-full/latest-full**
61 | - Most recent full backup taken with methods ``rsync`` or ``postgres``.
62 | * - **last-failed**
63 | - Most recent backup that failed, in chronological order.
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/list_processes.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-list-processes:
2 |
3 | ``barman list-processes``
4 | """"""""""""""""""""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | list-processes
12 | [ { -h | --help } ]
13 | SERVER_NAME
14 |
15 | Description
16 | ^^^^^^^^^^^
17 |
18 | The ``list-processes`` sub-command outputs all active subprocesses for a Barman server.
19 | It displays the process identifier (PID) and the corresponding barman task for each active
20 | subprocess.
21 |
22 | Parameters
23 | ^^^^^^^^^^
24 |
25 | ``SERVER_NAME``
26 | Name of the server for which to list active subprocesses.
27 |
28 | ``-h`` / ``--help``
29 | Displays a help message and exits.
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/list_servers.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-list-servers:
2 |
3 | ``barman list-servers``
4 | """""""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | list-servers
12 | [ { -h | --help } ]
13 | [ --minimal ]
14 |
15 | Description
16 | ^^^^^^^^^^^
17 |
18 | Display all configured servers along with their descriptions.
19 |
20 | Parameters
21 | ^^^^^^^^^^
22 |
23 | ``-h`` / ``--help``
24 | Show a help message and exit. Provides information about command usage.
25 |
26 | ``--minimal``
27 | Machine readable output.
28 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/lock_directory_cleanup.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-lock-directory-cleanup:
2 |
3 | ``barman lock-directory-cleanup``
4 | """""""""""""""""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | lock-directory-cleanup
12 | [ { -h | --help } ]
13 |
14 | Description
15 | ^^^^^^^^^^^
16 |
17 | Automatically removes unused lock files from the ``barman_lock_directory``.
18 |
19 | Parameters
20 | ^^^^^^^^^^
21 |
22 | ``-h`` / ``--help``
23 | Show a help message and exit. Provides information about command usage.
24 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/put_wal.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-put-wal:
2 |
3 | ``barman put-wal``
4 | """"""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | put-wal
12 | [ { -h | --help } ]
13 | [ { -t | --test } ]
14 | SERVER_NAME
15 |
16 | Description
17 | ^^^^^^^^^^^
18 |
19 | Receive a WAL file from a remote server and securely save it into the server incoming
20 | directory. The WAL file should be provided via ``STDIN``, encapsulated in a tar stream
21 | along with a ``SHA256SUMS`` or ``MD5SUMS`` file for validation (``sha256`` is the default
22 | hash algorithm, but the user can choose ``md5`` when setting the ``archive-command`` via
23 | ``barman-wal-archive``). This command is intended to be executed via SSH from a remote
24 | ``barman-wal-archive`` utility (included in the barman-cli package). Avoid using this
25 | command directly unless you fully manage the content of the files.
26 |
27 | Parameters
28 | ^^^^^^^^^^
29 |
30 | ``SERVER_NAME``
31 | Name of the server in barman node
32 |
33 | ``-h`` / ``--help``
34 | Show a help message and exit. Provides information about command usage.
35 |
36 | ``-t`` / ``--test``
37 | Test both the connection and configuration of the specified Postgres
38 | server in Barman for WAL retrieval.
39 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/rebuild_xlogdb.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-rebuild-xlogdb:
2 |
3 | ``barman rebuild-xlogdb``
4 | """""""""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | rebuild-xlogdb
12 | [ { -h | --help } ]
13 | SERVER_NAME [ SERVER_NAME ... ]
14 |
15 | Description
16 | ^^^^^^^^^^^
17 |
18 | Rebuild the WAL file metadata for a server (or for all servers using the ``all`` shortcut)
19 | based on the disk content. The WAL archive metadata is stored in the ``xlog.db`` file,
20 | with each Barman server maintaining its own copy.
21 |
22 | Parameters
23 | ^^^^^^^^^^
24 |
25 | ``SERVER_NAME``
26 | Name of the server in barman node.
27 |
28 | ``-h`` / ``--help``
29 | Show a help message and exit. Provides information about command usage.
30 |
31 | .. only:: man
32 |
33 | Shortcuts
34 | ^^^^^^^^^
35 |
36 | Use shortcuts instead of ``SERVER_NAME``.
37 |
38 | .. list-table::
39 | :widths: 25 100
40 | :header-rows: 1
41 |
42 | * - **Shortcut**
43 | - **Description**
44 | * - **all**
45 | - All available servers
46 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/receive_wal.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-receive-wal:
2 |
3 | ``barman receive-wal``
4 | """"""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | receive-wal
12 | [ --create-slot ]
13 | [ --drop-slot ]
14 | [ { -h | --help } ]
15 | [ --reset ]
16 | [ --stop ]
17 | SERVER_NAME
18 |
19 | Description
20 | ^^^^^^^^^^^
21 |
22 | Initiate the streaming of transaction logs for a server. This process uses
23 | ``pg_receivewal`` or ``pg_receivexlog`` to receive WAL files from Postgres servers via
24 | the streaming protocol.
25 |
26 | Parameters
27 | ^^^^^^^^^^
28 |
29 | ``SERVER_NAME``
30 | Name of the server in barman node.
31 |
32 | ``--create-slot``
33 | Create the physical replication slot configured with the ``slot_name`` configuration
34 | parameter.
35 |
36 | ``--drop-slot``
37 | Drop the physical replication slot configured with the ``slot_name`` configuration
38 | parameter.
39 |
40 | ``-h`` / ``--help``
41 | Show a help message and exit. Provides information about command usage.
42 |
43 | ``--reset``
44 | Reset the status of ``receive-wal``, restarting the streaming from the current WAL file
45 | of the server.
46 |
47 | ``--stop``
48 | Stop the process for the server.
49 |
50 | .. warning::
51 |
52 | The ``--stop`` option for the ``barman receive-wal`` command will be obsoleted
53 | in a future release. Users should favor using the
54 | :ref:`terminate-process ` command instead, which
55 | is the new way of handling this feature.
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/recover.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-recover:
2 |
3 | ``barman recover``
4 | """"""""""""""""""
5 |
6 | .. note::
7 |
8 | This command is deprecated. Use the :ref:`commands-barman-restore` command instead.
9 |
10 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/replication_status.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-replication-status:
2 |
3 | ``barman replication-status``
4 | """""""""""""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | replication-status
12 | [ { -h | --help } ]
13 | [ --minimal ]
14 | [ --source { backup-host | wal-host } ]
15 | [ --target { hot-standby | wal-streamer | all } ]
16 | SERVER_NAME [ SERVER_NAME ... ]
17 |
18 | Description
19 | ^^^^^^^^^^^
20 |
21 | Display real-time information and status of any streaming clients connected to the
22 | specified server. Specify ``all`` shortcut to diplay information for all configured
23 | servers.
24 |
25 | Parameters
26 | ^^^^^^^^^^
27 |
28 | ``SERVER_NAME``
29 | Name of the server in barman node
30 |
31 | ``-h`` / ``--help``
32 | Show a help message and exit. Provides information about command usage.
33 |
34 | ``--minimal``
35 | Machine readable output.
36 |
37 | ``--source``
38 | The possible values are:
39 |
40 | * ``backup-host`` (default): List clients using the backup connection information
41 | for a server.
42 | * ``wal-host``: List clients using the WAL streaming connection information for a
43 | server.
44 |
45 | ``--target``
46 | The possible values are:
47 |
48 | * ``hot-standby``: List only hot standby servers.
49 | * ``wal-streamer``: List only WAL streaming clients, such as ``pg_receivewal``.
50 | * ``all`` (default): List all streaming clients.
51 |
52 | .. only:: man
53 |
54 | Shortcuts
55 | ^^^^^^^^^
56 |
57 | Use shortcuts instead of ``SERVER_NAME``.
58 |
59 | .. list-table::
60 | :widths: 25 100
61 | :header-rows: 1
62 |
63 | * - **Shortcut**
64 | - **Description**
65 | * - **all**
66 | - All available servers
67 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/show_backup.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-show-backup:
2 |
3 | ``barman show-backup``
4 | """"""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | show-backup
12 | [ { -h | --help } ]
13 | SERVER_NAME BACKUP_ID
14 |
15 | Description
16 | ^^^^^^^^^^^
17 |
18 | Display detailed information about a specific backup. You can find details about this command in
19 | :ref:`Catalog usage `. You can use a shortcut instead of ``BACKUP_ID``.
20 |
21 | Parameters
22 | ^^^^^^^^^^
23 |
24 | ``SERVER_NAME``
25 | Name of the server in barman node
26 |
27 | ``BACKUP_ID``
28 | Id of the backup in barman catalog.
29 |
30 | ``-h`` / ``--help``
31 | Show a help message and exit. Provides information about command usage.
32 |
33 | .. only:: man
34 |
35 | Shortcuts
36 | ^^^^^^^^^
37 |
38 | Use shortcuts instead of ``BACKUP_ID``.
39 |
40 | .. list-table::
41 | :widths: 25 100
42 | :header-rows: 1
43 |
44 | * - **Shortcut**
45 | - **Description**
46 | * - **first/oldest**
47 | - Oldest available backup for the server, in chronological order.
48 | * - **last/latest**
49 | - Most recent available backup for the server, in chronological order.
50 | * - **last-full/latest-full**
51 | - Most recent full backup taken with methods ``rsync`` or ``postgres``.
52 | * - **last-failed**
53 | - Most recent backup that failed, in chronological order.
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/show_servers.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-show-servers:
2 |
3 | ``barman show-servers``
4 | """""""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | show-servers
12 | [ { -h | --help } ]
13 | SERVER_NAME [ SERVER_NAME ... ]
14 |
15 | Description
16 | ^^^^^^^^^^^
17 |
18 | Display detailed information about a server, including ``conninfo``, ``backup_directory``,
19 | ``wals_directory``, ``archive_command``, and many more. To view information about all configured
20 | servers, specify the ``all`` shortcut instead of the server name.
21 |
22 | Parameters
23 | ^^^^^^^^^^
24 |
25 | ``SERVER_NAME``
26 | Name of the server in barman node
27 |
28 | ``-h`` / ``--help``
29 | Show a help message and exit. Provides information about command usage.
30 |
31 | .. only:: man
32 |
33 | Shortcuts
34 | ^^^^^^^^^
35 |
36 | .. list-table::
37 | :widths: 25 100
38 | :header-rows: 1
39 |
40 | * - **Shortcut**
41 | - **Description**
42 | * - **all**
43 | - All available servers
44 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/status.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-status:
2 |
3 | ``barman status``
4 | """""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | status
12 | [ { -h | --help } ]
13 | SERVER_NAME [ SERVER_NAME ... ]
14 |
15 | Description
16 | ^^^^^^^^^^^
17 |
18 | Display information about a server's status, including details such as the state,
19 | Postgres version, WAL information, available backups and more.
20 |
21 | Parameters
22 | ^^^^^^^^^^
23 |
24 | ``SERVER_NAME``
25 | Name of the server in barman node
26 |
27 | ``-h`` / ``--help``
28 | Show a help message and exit. Provides information about command usage.
29 |
30 | .. only:: man
31 |
32 | Shortcuts
33 | ^^^^^^^^^
34 |
35 | .. list-table::
36 | :widths: 25 100
37 | :header-rows: 1
38 |
39 | * - **Shortcut**
40 | - **Description**
41 | * - **all**
42 | - All available servers
43 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/switch_wal.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-switch-wal:
2 |
3 | ``barman switch-wal``
4 | """""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | switch-wal
12 | [ --archive ]
13 | [ --archive-timeout ]
14 | [ --force ]
15 | [ { -h | --help } ]
16 | SERVER_NAME [ SERVER_NAME ... ]
17 |
18 |
19 | Description
20 | ^^^^^^^^^^^
21 |
22 | Execute ``pg_switch_wal()`` on the target server (Postgres versions 10 and later) or
23 | ``pg_switch_xlog()`` (for Postgres versions 8.3 to 9.6).
24 |
25 | Parameters
26 | ^^^^^^^^^^
27 |
28 | ``SERVER_NAME``
29 | Name of the server in barman node
30 |
31 | ``--archive``
32 | Waits for one WAL file to be archived. If no WAL file is archived within a specified
33 | time (default: ``30`` seconds), Barman will terminate with a failure exit code. This
34 | option is also available on standby servers.
35 |
36 | ``--archive-timeout``
37 | Specify the amount of time in seconds (default: ``30`` seconds) that the archiver
38 | will wait for a new WAL file to be archived before timing out. This option is also
39 | available on standby servers.
40 |
41 | ``--force``
42 | Forces the switch by executing a CHECKPOINT before ``pg_switch_wal()``.
43 |
44 | .. note::
45 | Running a CHECKPOINT may increase I/O load on the Postgres server, so use this
46 | option cautiously.
47 |
48 | ``-h`` / ``--help``
49 | Show a help message and exit. Provides information about command usage.
50 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/switch_xlog.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-switch-xlog:
2 |
3 | ``barman switch-xlog``
4 | """"""""""""""""""""""
5 |
6 | Description
7 | ^^^^^^^^^^^
8 |
9 | Alias for the ``switch-wal`` command.
10 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/sync_backup.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-sync-backup:
2 |
3 | ``barman sync-backup``
4 | """"""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | sync-backup
12 | [ { -h | --help } ]
13 | SERVER_NAME BACKUP_ID
14 |
15 | Description
16 | ^^^^^^^^^^^
17 |
18 | This command synchronizes a passive node with its primary by copying all files from a
19 | backup present on the server node. It is available only for passive nodes and uses
20 | the ``primary_ssh_command`` option to establish a secure connection with the primary
21 | node. You can use a shortcut instead of ``BACKUP_ID``.
22 |
23 | Parameters
24 | ^^^^^^^^^^
25 |
26 | ``SERVER_NAME``
27 | Name of the server in barman node
28 |
29 | ``BACKUP_ID``
30 | Id of the backup in barman catalog.
31 |
32 | ``-h`` / ``--help``
33 | Show a help message and exit. Provides information about command usage.
34 |
35 | .. only:: man
36 |
37 | Shortcuts
38 | ^^^^^^^^^
39 |
40 | For some commands, instead of using the timestamp backup ID, you can use the following
41 | shortcuts or aliases to identify a backup for a given server:
42 |
43 | .. list-table::
44 | :widths: 25 100
45 | :header-rows: 1
46 |
47 | * - **Shortcut**
48 | - **Description**
49 | * - **first/oldest**
50 | - Oldest available backup for the server, in chronological order.
51 | * - **last/latest**
52 | - Most recent available backup for the server, in chronological order.
53 | * - **last-full/latest-full**
54 | - Most recent full backup taken with methods ``rsync`` or ``postgres``.
55 | * - **last-failed**
56 | - Most recent backup that failed, in chronological order.
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/sync_info.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-sync-info:
2 |
3 | ``barman sync-info``
4 | """"""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | sync-info
12 | [ { -h | --help } ]
13 | [ --primary ]
14 | SERVER_NAME [ LAST_WAL [ LAST_POS ] ]
15 |
16 | Description
17 | ^^^^^^^^^^^
18 |
19 | Gather information about the current status of a Barman server for synchronization
20 | purposes.
21 |
22 | This command returns a JSON output for a server that includes: all successfully
23 | completed backups, all archived WAL files, the configuration, the last WAL file read from
24 | ``xlog.db``, and its position within the file.
25 |
26 | Parameters
27 | ^^^^^^^^^^
28 |
29 | ``SERVER_NAME``
30 | Name of the server in barman node
31 |
32 | ``LAST_WAL``
33 | Instructs sync-info to skip any WAL files that precede the specified file (for
34 | incremental synchronization).
35 |
36 | ``LAST_POS``
37 | Hint for quickly positioning in the ``xlog.db`` file (for incremental synchronization).
38 |
39 | ``-h`` / ``--help``
40 | Show a help message and exit. Provides information about command usage.
41 |
42 | ``--primary``
43 | Execute the sync-info on the primary node (if set).
44 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/sync_wals.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-sync-wals:
2 |
3 | ``barman sync-wals``
4 | """"""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | sync-wals
12 | [ { -h | --help } ]
13 | SERVER_NAME
14 |
15 | Description
16 | ^^^^^^^^^^^
17 |
18 | This command synchronizes a passive node with its primary by copying all archived WAL
19 | files from the server node. It is available only for passive nodes and utilizes the
20 | ``primary_ssh_command`` option to establish a secure connection with the primary node.
21 |
22 | Parameters
23 | ^^^^^^^^^^
24 |
25 | ``SERVER_NAME``
26 | Name of the server in barman node
27 |
28 | ``-h`` / ``--help``
29 | Show a help message and exit. Provides information about command usage.
30 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/terminate_process.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-terminate-process:
2 |
3 | ``barman terminate-process``
4 | """"""""""""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | terminate-process SERVER_NAME TASK_NAME
12 |
13 | Description
14 | ^^^^^^^^^^^^^
15 |
16 | The ``barman terminate-process`` command terminates an active Barman subprocess on a
17 | specified server. The target process is identified by its task name (for example, ``backup``
18 | or ``receive-wal``). Note that only processes that are running on the server level can be
19 | terminated, so global processes like ``cron`` or ``config-update`` can not be terminated
20 | by this command.
21 |
22 | You can also use the output of ``barman list-processes`` to display all active processes
23 | for a given server and determine which tasks can be terminated. More details about this
24 | command can be found in :ref:`barman list-processes `.
25 |
26 | Parameters
27 | ^^^^^^^^^^
28 |
29 | ``SERVER_NAME``
30 | The name of the server where the subprocess is running.
31 |
32 | ``TASK_NAME``
33 | The task name that identifies the subprocess to be terminated.
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/verify.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-verify:
2 |
3 | ``barman verify``
4 | """""""""""""""""
5 |
6 | Description
7 | ^^^^^^^^^^^
8 |
9 | Alias for ``verify-backup`` command.
10 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman/verify_backup.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-verify-backup:
2 |
3 | ``barman verify-backup``
4 | """"""""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | verify-backup
12 | [ { -h | --help } ]
13 | SERVER_NAME BACKUP_ID
14 |
15 | Description
16 | ^^^^^^^^^^^
17 |
18 | Runs ``pg_verifybackup`` on a backup manifest file (available since Postgres version 13).
19 | For rsync backups, it can be used after creating a manifest file using the
20 | ``generate-manifest`` command. Requires ``pg_verifybackup`` to be installed on the
21 | backup server. You can use a shortcut instead of ``BACKUP_ID``.
22 |
23 | Parameters
24 | ^^^^^^^^^^
25 |
26 | ``SERVER_NAME``
27 | Name of the server in barman node
28 |
29 | ``BACKUP_ID``
30 | Id of the backup in barman catalog.
31 |
32 | ``-h`` / ``--help``
33 | Show a help message and exit. Provides information about command usage.
34 |
35 | .. only:: man
36 |
37 | Shortcuts
38 | ^^^^^^^^^
39 |
40 | For some commands, instead of using the timestamp backup ID, you can use the following
41 | shortcuts or aliases to identify a backup for a given server:
42 |
43 | .. list-table::
44 | :widths: 25 100
45 | :header-rows: 1
46 |
47 | * - **Shortcut**
48 | - **Description**
49 | * - **first/oldest**
50 | - Oldest available backup for the server, in chronological order.
51 | * - **last/latest**
52 | - Most recent available backup for the server, in chronological order.
53 | * - **last-full/latest-full**
54 | - Most recent full backup taken with methods ``rsync`` or ``postgres``.
55 | * - **last-failed**
56 | - Most recent backup that failed, in chronological order.
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman_cli/wal_archive.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-cli-barman-wal-archive:
2 |
3 | ``barman-wal-archive``
4 | """"""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | barman-wal-archive
12 | [ { -h | --help } ]
13 | [ { -V | --version } ]
14 | [ { -U | --user } USER ]
15 | [ --port PORT ]
16 | [ { { -z | --gzip } | { -j | --bzip2 } | --xz | --snappy | --zstd | --lz4 } ]
17 | [ --compression-level COMPRESSION_LEVEL ]
18 | [ { -c | --config } CONFIG ]
19 | [ { -t | --test } ]
20 | [ --md5 ]
21 | BARMAN_HOST SERVER_NAME WAL_PATH
22 |
23 | Description
24 | ^^^^^^^^^^^
25 |
26 | This script can be utilized in the ``archive_command`` of a Postgres server to
27 | transfer WAL files to a Barman host using the ``put-wal`` command (introduced in Barman
28 | 2.6). It establishes an SSH connection to the Barman host, enabling seamless integration
29 | of Barman within Postgres clusters for improved business continuity.
30 |
31 | **Exit Statuses** are:
32 |
33 | * ``0`` for ``SUCCESS``.
34 | * ``non-zero`` for ``FAILURE``.
35 |
36 | Parameters
37 | ^^^^^^^^^^
38 |
39 | ``SERVER_NAME``
40 | The server name configured in Barman for the Postgres server from which
41 | the WAL file is retrieved.
42 |
43 | ``BARMAN_HOST``
44 | The host of the Barman server.
45 |
46 | ``WAL_PATH``
47 | The value of the '%p' keyword (according to ``archive_command``).
48 |
49 | ``-h`` / ``--help``
50 | Display a help message and exit.
51 |
52 | ``-V`` / ``--version``
53 | Display the program's version number and exit.
54 |
55 | ``-U`` / ``--user``
56 | Specify the user for the SSH connection to the Barman server (defaults to
57 | ``barman``).
58 |
59 | ``--port``
60 | Define the port used for the SSH connection to the Barman server.
61 |
62 | ``-z`` / ``--gzip``
63 | gzip-compress the WAL file before sending it to the Barman server.
64 |
65 | ``-j`` / ``--bzip2``
66 | bzip2-compress the WAL file before sending it to the Barman server.
67 |
68 | ``--xz``
69 | xz-compress the WAL file before sending it to the Barman server.
70 |
71 | ``--snappy``
72 | snappy-compress the WAL file before sending it to the Barman server (requires the
73 | ``python-snappy`` Python library to be installed).
74 |
75 | ``--zstd``
76 | zstd-compress the WAL file before sending it to the Barman server (requires the
77 | ``zstandard`` Python library to be installed).
78 |
79 | ``--lz4``
80 | lz4-compress the WAL file before sending it to the Barman server (requires the
81 | ``lz4`` Python library to be installed).
82 |
83 | ``--compression-level``
84 | A compression level to be used by the selected compression algorithm. Valid
85 | values are integers within the supported range of the chosen algorithm or one
86 | of the predefined labels: ``low``, ``medium``, and ``high``. The range of each
87 | algorithm as well as what level each predefined label maps to can be found in
88 | :ref:`compression_level `.
89 |
90 | ``-c`` / ``--config``
91 | Specify the configuration file on the Barman server.
92 |
93 | ``-t`` / ``--test``
94 | Test the connection and configuration of the specified Postgres server in Barman to
95 | ensure it is ready to receive WAL files. This option ignores the mandatory argument
96 | ``WAL_PATH``.
97 |
98 | ``--md5``
99 | Use MD5 instead of SHA256 as the hash algorithm to calculate the checksum of the WAL
100 | file when transmitting it to the Barman server. This is used to maintain
101 | compatibility with older server versions, as older versions of Barman server used to
102 | support only MD5.
103 |
104 | .. note::
105 | When compression is enabled in ``barman-wal-archive``, it takes precedence over the
106 | compression settings configured on the Barman server, if they differ.
107 |
108 | .. important::
109 | When compression is enabled in ``barman-wal-archive``, it is performed on the client
110 | side, before the file is sent to Barman. Be mindful of the database server's load and
111 | the chosen compression algorithm and level, as higher compression can delay WAL
112 | shipping, causing WAL files to accumulate.
113 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman_cli/wal_restore.inc.rst:
--------------------------------------------------------------------------------
1 | .. _commands-barman-cli-barman-wal-restore:
2 |
3 | ``barman-wal-restore``
4 | """"""""""""""""""""""
5 |
6 | Synopsis
7 | ^^^^^^^^
8 |
9 | .. code-block:: text
10 |
11 | barman-wal-restore
12 | [ { -h | --help } ]
13 | [ { -V | --version } ]
14 | [ { -U | --user } USER ]
15 | [ --port PORT ]
16 | [ { -s | --sleep } SECONDS ]
17 | [ { -p | --parallel } JOBS ]
18 | [ --spool-dir SPOOL_DIR ]
19 | [ { -P | --partial } ]
20 | [ { { -z | --gzip } | { -j | --bzip2 } | --keep-compression } ]
21 | [ { -c | --config } CONFIG ]
22 | [ { -t | --test } ]
23 | BARMAN_HOST SERVER_NAME WAL_NAME WAL_DEST
24 |
25 | Description
26 | ^^^^^^^^^^^
27 |
28 | This script serves as a ``restore_command`` for Postgres servers, enabling the
29 | retrieval of WAL files through Barman's ``get-wal`` feature. It establishes an SSH
30 | connection to the Barman host and facilitates the integration of Barman within
31 | Postgres clusters, enhancing business continuity.
32 |
33 | **Exit Statuses** are:
34 |
35 | * ``0`` for ``SUCCESS``.
36 | * ``1`` for remote get-wal command ``FAILURE``, likely because the requested WAL could
37 | not be found.
38 | * ``2`` for ssh connection ``FAILURE``.
39 | * Any other ``non-zero`` for ``FAILURE``.
40 |
41 | Parameters
42 | ^^^^^^^^^^
43 |
44 | ``SERVER_NAME``
45 | The server name configured in Barman for the Postgres server from which the
46 | WAL file is retrieved.
47 |
48 | ``BARMAN_HOST``
49 | The host of the Barman server.
50 |
51 | ``WAL_NAME``
52 | The value of the '%f' keyword (according to ``restore_command``).
53 |
54 | ``WAL_DEST``
55 | The value of the '%p' keyword (according to ``restore_command``).
56 |
57 | ``-h`` / ``--help``
58 | Display a help message and exit.
59 |
60 | ``-V`` / ``--version``
61 | Display the program's version number and exit.
62 |
63 | ``-U`` / ``--user``
64 | Specify the user for the SSH connection to the Barman server (defaults to
65 | ``barman``).
66 |
67 | ``--port``
68 | Define the port used for the SSH connection to the Barman server.
69 |
70 | ``-s`` / ``--sleep``
71 | Pause for ``SECONDS`` after a failed ``get-wal`` request (defaults to ``0`` - no
72 | wait).
73 |
74 | ``-p`` / ``--parallel``
75 | Indicate the number of files to ``peek`` and transfer simultaneously (defaults to
76 | ``0`` - disabled).
77 |
78 | ``--spool-dir``
79 | Specify the spool directory for WAL files (defaults to ``/var/tmp/walrestore``).
80 |
81 | ``-P`` / ``--partial``
82 | Include partial WAL files (.partial) in the retrieval.
83 |
84 | ``-z`` / ``--gzip``
85 | Transfer WAL files compressed with ``gzip``.
86 |
87 | ``-j`` / ``--bzip2``
88 | Transfer WAL files compressed with ``bzip2``.
89 |
90 | ``--keep-compression``
91 | If specified, compressed files will be trasnfered as-is and decompressed on arrival
92 | on the client-side.
93 |
94 | ``-c`` / ``--config``
95 | Specify the configuration file on the Barman server.
96 |
97 | ``-t`` / ``--test``
98 | Test the connection and configuration of the specified Postgres server in Barman to
99 | ensure it is ready to receive WAL files. This option ignores the mandatory arguments
100 | ``WAL_NAME`` and ``WAL_DEST``.
101 |
102 |
103 | .. warning::
104 |
105 | ``-z`` / ``--gzip`` and ``-j`` / ``--bzip2`` options are deprecated and will be
106 | removed in the future. For WAL compression, please make sure to enable it directly
107 | on the Barman server via the ``compression`` configuration option.
108 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman_cloud/backup_keep.inc.rst:
--------------------------------------------------------------------------------
1 | .. _barman-cloud-barman-cloud-backup-keep:
2 |
3 | ``barman-cloud-backup-keep``
4 | """"""""""""""""""""""""""""
5 |
6 | **Synopsis**
7 |
8 | .. code-block:: text
9 |
10 | barman-cloud-backup-keep
11 | [ { -V | --version } ]
12 | [ --help ]
13 | [ { { -v | --verbose } | { -q | --quiet } } ]
14 | [ { -t | --test } ]
15 | [ --cloud-provider { aws-s3 | azure-blob-storage | google-cloud-storage } ]
16 | [ --endpoint-url ENDPOINT_URL ]
17 | [ { -P | --aws-profile } AWS_PROFILE ]
18 | [ --profile AWS_PROFILE ]
19 | [ --read-timeout READ_TIMEOUT ]
20 | [ { --azure-credential | --credential } { azure-cli | managed-identity | default } ]
21 | [ { { -r | --release } | { -s | --status } | --target { full | standalone } } ]
22 | SOURCE_URL SERVER_NAME BACKUP_ID
23 |
24 | **Description**
25 |
26 | Use this script to designate backups in cloud storage as archival backups, ensuring
27 | their indefinite retention regardless of retention policies.
28 |
29 | This script allows you to mark backups previously created with ``barman-cloud-backup``
30 | as archival backups. Once flagged as archival, these backups are preserved indefinitely
31 | and are not subject to standard retention policies.
32 |
33 | .. note::
34 | For GCP, only authentication with ``GOOGLE_APPLICATION_CREDENTIALS`` env is supported.
35 |
36 | **Parameters**
37 |
38 | ``SERVER_NAME``
39 | Name of the server that holds the backup to be kept.
40 |
41 | ``SOURCE_URL``
42 | URL of the cloud source, such as a bucket in AWS S3. For example:
43 | ``s3://bucket/path/to/folder``.
44 |
45 | ``BACKUP_ID``
46 | The ID of the backup to be kept.
47 |
48 | ``-V`` / ``--version``
49 | Show version and exit.
50 |
51 | ``--help``
52 | show this help message and exit.
53 |
54 | ``-v`` / ``--verbose``
55 | Increase output verbosity (e.g., ``-vv`` is more than ``-v``).
56 |
57 | ``-q`` / ``--quiet``
58 | Decrease output verbosity (e.g., ``-qq`` is less than ``-q``).
59 |
60 | ``-t`` / ``--test``
61 | Test cloud connectivity and exit.
62 |
63 | ``--cloud-provider``
64 | The cloud provider to use as a storage backend.
65 |
66 | Allowed options are:
67 |
68 | * ``aws-s3``.
69 | * ``azure-blob-storage``.
70 | * ``google-cloud-storage``.
71 |
72 | ``-r`` / ``--release``
73 | If specified, the command will remove the keep annotation and the backup will be
74 | eligible for deletion.
75 |
76 | ``-s`` / ``--status``
77 | Print the keep status of the backup.
78 |
79 | ``--target``
80 | Specify the recovery target for this backup. Allowed options are:
81 |
82 | * ``full``
83 | * ``standalone``
84 |
85 | **Extra options for the AWS cloud provider**
86 |
87 | ``--endpoint-url``
88 | Override default S3 endpoint URL with the given one.
89 |
90 | ``-P`` / ``--aws-profile``
91 | Profile name (e.g. ``INI`` section in AWS credentials file).
92 |
93 | ``--profile`` (deprecated)
94 | Profile name (e.g. ``INI`` section in AWS credentials file) - replaced by
95 | ``--aws-profile``.
96 |
97 | ``--read-timeout``
98 | The time in seconds until a timeout is raised when waiting to read from a connection
99 | (defaults to ``60`` seconds).
100 |
101 | **Extra options for the Azure cloud provider**
102 |
103 | ``--azure-credential / --credential``
104 | Optionally specify the type of credential to use when authenticating with Azure. If
105 | omitted then Azure Blob Storage credentials will be obtained from the environment and
106 | the default Azure authentication flow will be used for authenticating with all other
107 | Azure services. If no credentials can be found in the environment then the default
108 | Azure authentication flow will also be used for Azure Blob Storage.
109 |
110 | Allowed options are:
111 |
112 | * ``azure-cli``.
113 | * ``managed-identity``.
114 | * ``default``.
115 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman_cloud/backup_list.inc.rst:
--------------------------------------------------------------------------------
1 | .. _barman-cloud-barman-cloud-backup-list:
2 |
3 | ``barman-cloud-backup-list``
4 | """"""""""""""""""""""""""""
5 |
6 | **Synopsis**
7 |
8 | .. code-block:: text
9 |
10 | barman-cloud-backup-list
11 | [ { -V | --version } ]
12 | [ --help ]
13 | [ { { -v | --verbose } | { -q | --quiet } } ]
14 | [ { -t | --test } ]
15 | [ --cloud-provider { aws-s3 | azure-blob-storage | google-cloud-storage } ]
16 | [ --endpoint-url ENDPOINT_URL ]
17 | [ { -P | --aws-profile } AWS_PROFILE ]
18 | [ --profile AWS_PROFILE ]
19 | [ --read-timeout READ_TIMEOUT ]
20 | [ { --azure-credential | --credential } { azure-cli | managed-identity | default } ]
21 | [ --format FORMAT ]
22 | SOURCE_URL SERVER_NAME
23 |
24 | **Description**
25 |
26 | This script lists backups stored in the cloud that were created using the
27 | ``barman-cloud-backup`` command.
28 |
29 | .. note::
30 | For GCP, only authentication with ``GOOGLE_APPLICATION_CREDENTIALS`` env is supported.
31 |
32 | **Parameters**
33 |
34 | ``SERVER_NAME``
35 | Name of the server that holds the backup to be listed.
36 |
37 | ``SOURCE_URL``
38 | URL of the cloud source, such as a bucket in AWS S3. For example:
39 | ``s3://bucket/path/to/folder``.
40 |
41 | ``-V`` / ``--version``
42 | Show version and exit.
43 |
44 | ``--help``
45 | show this help message and exit.
46 |
47 | ``-v`` / ``--verbose``
48 | Increase output verbosity (e.g., ``-vv`` is more than ``-v``).
49 |
50 | ``-q`` / ``--quiet``
51 | Decrease output verbosity (e.g., ``-qq`` is less than ``-q``).
52 |
53 | ``-t`` / ``--test``
54 | Test cloud connectivity and exit.
55 |
56 | ``--cloud-provider``
57 | The cloud provider to use as a storage backend.
58 |
59 | Allowed options are:
60 |
61 | * ``aws-s3``.
62 | * ``azure-blob-storage``.
63 | * ``google-cloud-storage``.
64 |
65 | ``--format``
66 | Output format (``console`` or ``json``). Default ``console``.
67 |
68 | **Extra options for the AWS cloud provider**
69 |
70 | ``--endpoint-url``
71 | Override default S3 endpoint URL with the given one.
72 |
73 | ``-P`` / ``--aws-profile``
74 | Profile name (e.g. ``INI`` section in AWS credentials file).
75 |
76 | ``--profile`` (deprecated)
77 | Profile name (e.g. ``INI`` section in AWS credentials file) - replaced by
78 | ``--aws-profile``.
79 |
80 | ``--read-timeout``
81 | The time in seconds until a timeout is raised when waiting to read from a connection
82 | (defaults to ``60`` seconds).
83 |
84 | **Extra options for the Azure cloud provider**
85 |
86 | ``--azure-credential / --credential``
87 | Optionally specify the type of credential to use when authenticating with Azure. If
88 | omitted then Azure Blob Storage credentials will be obtained from the environment and
89 | the default Azure authentication flow will be used for authenticating with all other
90 | Azure services. If no credentials can be found in the environment then the default
91 | Azure authentication flow will also be used for Azure Blob Storage.
92 |
93 | Allowed options are:
94 |
95 | * ``azure-cli``.
96 | * ``managed-identity``.
97 | * ``default``.
98 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman_cloud/backup_show.inc.rst:
--------------------------------------------------------------------------------
1 | .. _barman-cloud-barman-cloud-backup-show:
2 |
3 | ``barman-cloud-backup-show``
4 | """"""""""""""""""""""""""""
5 |
6 | **Synopsis**
7 |
8 | .. code-block:: text
9 |
10 | barman-cloud-backup-show
11 | [ { -V | --version } ]
12 | [ --help ]
13 | [ { { -v | --verbose } | { -q | --quiet } } ]
14 | [ { -t | --test } ]
15 | [ --cloud-provider { aws-s3 | azure-blob-storage | google-cloud-storage } ]
16 | [ --endpoint-url ENDPOINT_URL ]
17 | [ { -P | --aws-profile } AWS_PROFILE ]
18 | [ --profile AWS_PROFILE ]
19 | [ --read-timeout READ_TIMEOUT ]
20 | [ { --azure-credential | --credential } { azure-cli | managed-identity | default } ]
21 | [ --format FORMAT ]
22 | SOURCE_URL SERVER_NAME BACKUP_ID
23 |
24 | **Description**
25 |
26 | This script displays detailed information about a specific backup created with the
27 | ``barman-cloud-backup`` command. The output is similar to the ``barman show-backup``
28 | from the :ref:`barman show-backup ` command reference,
29 | but it has fewer information.
30 |
31 | .. note::
32 | For GCP, only authentication with ``GOOGLE_APPLICATION_CREDENTIALS`` env is supported.
33 |
34 | **Parameters**
35 |
36 | ``BACKUP_ID``
37 | The ID of the backup.
38 |
39 | ``SERVER_NAME``
40 | Name of the server that holds the backup to be displayed.
41 |
42 | ``SOURCE_URL``
43 | URL of the cloud source, such as a bucket in AWS S3. For example:
44 | ``s3://bucket/path/to/folder``.
45 |
46 | ``-V`` / ``--version``
47 | Show version and exit.
48 |
49 | ``--help``
50 | show this help message and exit.
51 |
52 | ``-v`` / ``--verbose``
53 | Increase output verbosity (e.g., ``-vv`` is more than ``-v``).
54 |
55 | ``-q`` / ``--quiet``
56 | Decrease output verbosity (e.g., ``-qq`` is less than ``-q``).
57 |
58 | ``-t`` / ``--test``
59 | Test cloud connectivity and exit.
60 |
61 | ``--cloud-provider``
62 | The cloud provider to use as a storage backend.
63 |
64 | Allowed options are:
65 |
66 | * ``aws-s3``.
67 | * ``azure-blob-storage``.
68 | * ``google-cloud-storage``.
69 |
70 | ``--format``
71 | Output format (``console`` or ``json``). Default ``console``.
72 |
73 | **Extra options for the AWS cloud provider**
74 |
75 | ``--endpoint-url``
76 | Override default S3 endpoint URL with the given one.
77 |
78 | ``-P`` / ``--aws-profile``
79 | Profile name (e.g. ``INI`` section in AWS credentials file).
80 |
81 | ``--profile`` (deprecated)
82 | Profile name (e.g. ``INI`` section in AWS credentials file) - replaced by
83 | ``--aws-profile``.
84 |
85 | ``--read-timeout``
86 | The time in seconds until a timeout is raised when waiting to read from a connection
87 | (defaults to ``60`` seconds).
88 |
89 | **Extra options for the Azure cloud provider**
90 |
91 | ``--azure-credential / --credential``
92 | Optionally specify the type of credential to use when authenticating with Azure. If
93 | omitted then Azure Blob Storage credentials will be obtained from the environment and
94 | the default Azure authentication flow will be used for authenticating with all other
95 | Azure services. If no credentials can be found in the environment then the default
96 | Azure authentication flow will also be used for Azure Blob Storage.
97 |
98 | Allowed options are:
99 |
100 | * ``azure-cli``.
101 | * ``managed-identity``.
102 | * ``default``.
103 |
--------------------------------------------------------------------------------
/docs/user_guide/commands/barman_cloud/check_wal_archive.inc.rst:
--------------------------------------------------------------------------------
1 | .. _barman-cloud-barman-cloud-check-wal-archive:
2 |
3 | ``barman-cloud-check-wal-archive``
4 | """"""""""""""""""""""""""""""""""
5 |
6 | **Synopsis**
7 |
8 | .. code-block:: text
9 |
10 | barman-cloud-check-wal-archive
11 | [ { -V | --version } ]
12 | [ --help ]
13 | [ { { -v | --verbose } | { -q | --quiet } } ]
14 | [ { -t | --test } ]
15 | [ --cloud-provider { aws-s3 | azure-blob-storage | google-cloud-storage } ]
16 | [ --endpoint-url ENDPOINT_URL ]
17 | [ { -P | --aws-profile } AWS_PROFILE ]
18 | [ --profile AWS_PROFILE ]
19 | [ --read-timeout READ_TIMEOUT ]
20 | [ { --azure-credential | --credential }
21 | { azure-cli | managed-identity | default } ]
22 | [ --timeline TIMELINE ]
23 | DESTINATION_URL SERVER_NAME
24 |
25 | **Description**
26 |
27 | Verify that the WAL archive destination for a server is suitable for use with a new
28 | Postgres cluster. By default, the check will succeed if the WAL archive is empty or if
29 | the target bucket is not found. Any other conditions will result in a failure.
30 |
31 | .. note::
32 | For GCP, only authentication with ``GOOGLE_APPLICATION_CREDENTIALS`` env is supported.
33 |
34 | **Parameters**
35 |
36 | ``SERVER_NAME``
37 | Name of the server that needs to be checked.
38 |
39 | ``DESTINATION_URL``
40 | URL of the cloud destination, such as a bucket in AWS S3. For example: ``s3://bucket/path/to/folder``.
41 |
42 | ``-V`` / ``--version``
43 | Show version and exit.
44 |
45 | ``--help``
46 | show this help message and exit.
47 |
48 | ``-v`` / ``--verbose``
49 | Increase output verbosity (e.g., ``-vv`` is more than ``-v``).
50 |
51 | ``-q`` / ``--quiet``
52 | Decrease output verbosity (e.g., ``-qq`` is less than ``-q``).
53 |
54 | ``-t`` / ``--test``
55 | Test cloud connectivity and exit.
56 |
57 | ``--cloud-provider``
58 | The cloud provider to use as a storage backend.
59 |
60 | Allowed options are:
61 |
62 | * ``aws-s3``.
63 | * ``azure-blob-storage``.
64 | * ``google-cloud-storage``.
65 |
66 | ``--timeline``
67 | The earliest timeline whose WALs should cause the check to fail.
68 |
69 | **Extra options for the AWS cloud provider**
70 |
71 | ``--endpoint-url``
72 | Override default S3 endpoint URL with the given one.
73 |
74 | ``-P`` / ``--aws-profile``
75 | Profile name (e.g. ``INI`` section in AWS credentials file).
76 |
77 | ``--profile`` (deprecated)
78 | Profile name (e.g. ``INI`` section in AWS credentials file) - replaced by
79 | ``--aws-profile``.
80 |
81 | ``--read-timeout``
82 | The time in seconds until a timeout is raised when waiting to read from a connection
83 | (defaults to ``60`` seconds).
84 |
85 | **Extra options for the Azure cloud provider**
86 |
87 | ``--azure-credential / --credential``
88 | Optionally specify the type of credential to use when authenticating with Azure. If
89 | omitted then Azure Blob Storage credentials will be obtained from the environment and
90 | the default Azure authentication flow will be used for authenticating with all other
91 | Azure services. If no credentials can be found in the environment then the default
92 | Azure authentication flow will also be used for Azure Blob Storage.
93 |
94 | Allowed options are:
95 |
96 | * ``azure-cli``.
97 | * ``managed-identity``.
98 | * ``default``.
99 |
--------------------------------------------------------------------------------
/docs/user_guide/geographical_redundancy.rst:
--------------------------------------------------------------------------------
1 | .. _geographical-redundancy:
2 |
3 | Geographical Redundancy
4 | =======================
5 |
6 | It's possible to set up cascading backup architectures with Barman, where the
7 | source of a Barman backup server is another Barman installation rather than a
8 | PostgreSQL server.
9 |
10 | This feature allows users to transparently keep geographically distributed
11 | copies of PostgreSQL backups.
12 |
13 | In Barman jargon, a Barman backup server that is connected to another Barman
14 | installation, rather than a PostgreSQL server, is defined as a passive node.
15 | A passive node is configured through the ``primary_ssh_command`` option, available
16 | both at global (for a full replica of a primary Barman installation) and server
17 | level (for mixed scenarios, having both direct and passive servers).
18 |
19 | Sync information
20 | ----------------
21 |
22 | The ``barman sync-info`` command is used to collect information regarding the
23 | current status of a Barman server which is useful for synchronization purposes.
24 | The available syntax is the following:
25 |
26 | .. code-block:: bash
27 |
28 | barman sync-info [--primary] [ []]
29 |
30 | The command returns a JSON object containing:
31 |
32 | - A map with all the backups having status ``DONE`` for that server.
33 | - A list with all the archived WAL files.
34 | - The configuration for the server.
35 | - The last read position (in the xlog database file).
36 | - The name of the last read WAL file.
37 |
38 | The JSON response contains all the required information for the synchronisation
39 | between the ``primary`` and a ``passive`` node.
40 |
41 | If ``--primary`` is specified, the command is executed on the defined
42 | primary node, rather than locally.
43 |
44 | Configuration
45 | -------------
46 |
47 | Configuring a server as a passive node is a quick operation. Simply add to the server
48 | configuration the following option:
49 |
50 | .. code-block:: ini
51 |
52 | primary_ssh_command = ssh barman@primary_barman
53 |
54 | This option specifies the SSH connection parameters to the primary server,
55 | identifying the source of the backup data for the passive server.
56 |
57 | If you are invoking barman with the ``-c/--config`` option and you want to use
58 | the same option when the passive node invokes barman on the primary node then
59 | add the following option:
60 |
61 | .. code-block:: ini
62 |
63 | forward_config_path = true
64 |
65 | Node synchronization
66 | --------------------
67 |
68 | When a node is marked as passive it is treated in a special way by Barman:
69 |
70 | - It is excluded from standard maintenance operations.
71 | - Direct operations to Postgres are forbidden, including ``barman backup``.
72 |
73 | Synchronization between a passive server and its primary is automatically
74 | managed by ``barman cron`` which will transparently invoke:
75 |
76 | 1. ``barman sync-info --primary``, in order to collect synchronization information.
77 | 2. ``barman sync-backup``, in order to create a local copy of every backup that is
78 | available on the primary node.
79 | 3. ``barman sync-wals``, in order to copy locally all the WAL files available on the
80 | primary node.
81 |
82 | Manual synchronization
83 | ----------------------
84 |
85 | Although ``barman cron`` automatically manages passive/primary node synchronization,
86 | it is possible to manually trigger synchronization of a backup through:
87 |
88 | .. code-block:: bash
89 |
90 | barman sync-backup
91 |
92 | Launching ``sync-backup`` barman will use the ``primary_ssh_command`` to connect to the
93 | primary server, then, if the backup is present on the remote machine, it will begin to
94 | copy all the files using rsync. Only one synchronization process per backup is allowed
95 | at a time.
96 |
97 | WAL files can also be synchronized, through:
98 |
99 | .. code-block:: bash
100 |
101 | barman sync-wals
102 |
--------------------------------------------------------------------------------
/docs/user_guide/glossary.rst:
--------------------------------------------------------------------------------
1 | .. _glossary:
2 |
3 | Glossary
4 | ========
5 |
6 | .. glossary::
7 |
8 | AWS
9 | Amazon Web Services
10 |
11 | Barman
12 | Backup and Recovery Manager.
13 |
14 | DBA
15 | Database Administrator.
16 |
17 | DEB
18 | Debian Package.
19 |
20 | External Configuration Files
21 | Files that are stored outside of PGDATA. For example, when you create a new
22 | PostgreSQL cluster using ``pg_createcluster`` (e.g.,
23 | ``sudo pg_createcluster 14 main``) in Ubuntu, it sets up a new data directory,
24 | typically under ``/var/lib/postgresql/``, but the configuration files, like
25 | ``postgresql.conf`` and ``pg_hba.conf``, are usually stored under
26 | ``/etc/postgresql//main/`` to separate them from the actual data.
27 |
28 | GCP
29 | Google Cloud Platform
30 |
31 | GPG
32 | GNU Privacy Guard
33 |
34 | IAC
35 | Infrastructure As Code
36 |
37 | ICT
38 | Information and Communication Technology.
39 |
40 | libpq
41 | The C application programmer's interface to Postgres. libpq is a set
42 | of library functions that allow client programs to pass queries to the
43 | Postgres backend server and to receive the results of these queries.
44 |
45 | PGDATA
46 | PostgreSQL data directory.
47 |
48 | PGDG
49 | Postgres Global Development Group.
50 |
51 | PITR
52 | Point-in-time Recovery.
53 |
54 | RHEL
55 | Red Hat Enterprise Linux.
56 |
57 | RPM
58 | Red Hat Package Manager.
59 |
60 | RPO
61 | Recovery Point Objective. The maximum targeted period in which data might be
62 | lost from an IT service due to a major incident. In summary, it represents the
63 | maximum amount of data you can afford to lose.
64 |
65 | SLES
66 | SUSE Linux Enterprise Server
67 |
68 | SPOF
69 | Single Point of Failure
70 |
71 | VLDB
72 | Very Large DataBase
73 |
74 | WORM
75 | Write Once, Read Many
76 |
--------------------------------------------------------------------------------
/docs/user_guide/index.rst:
--------------------------------------------------------------------------------
1 | .. _user_guide:
2 |
3 | User Guide
4 | ==========
5 |
6 | :term:`Barman` is an open-source administration tool for disaster recovery of
7 | Postgres servers written in Python. It allows your organisation to perform remote
8 | backups of multiple servers in business critical environments to reduce risk and help
9 | DBAs during the recovery phase.
10 |
11 | `Barman `_ is distributed under GNU GPL 3 and maintained by
12 | `EnterpriseDB `_, a platinum sponsor of the
13 | `PostgreSQL project `_.
14 |
15 |
16 | .. toctree::
17 |
18 | concepts
19 | installation
20 | quickstart
21 | architectures
22 | pre_requisites
23 | barman_check
24 | backup
25 | wal_archiving
26 | catalog
27 | recovery
28 | retention_policies
29 | diagnose_and_troubleshooting
30 | configuration
31 | commands
32 | geographical_redundancy
33 | hook_scripts
34 | barman_cloud
35 | glossary
36 |
--------------------------------------------------------------------------------
/requirements-tox.txt:
--------------------------------------------------------------------------------
1 | tox
2 | virtualenv
3 |
--------------------------------------------------------------------------------
/scripts/barman.bash_completion:
--------------------------------------------------------------------------------
1 | eval "$((register-python-argcomplete3 barman || register-python-argcomplete barman) 2>/dev/null)"
2 |
--------------------------------------------------------------------------------
/setup.cfg:
--------------------------------------------------------------------------------
1 | [bdist_wheel]
2 | universal = 1
3 |
4 | [aliases]
5 | test=pytest
6 |
7 | [isort]
8 | known_first_party=barman
9 | known_third_party=
10 | setuptools
11 | distutils
12 | argcomplete
13 | dateutil
14 | psycopg2
15 | mock
16 | pytest
17 | boto3
18 | botocore
19 | sphinx
20 | sphinx_bootstrap_theme
21 | skip=.tox
22 |
--------------------------------------------------------------------------------
/tests/conftest.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # © Copyright EnterpriseDB UK Limited 2013-2025
3 | #
4 | # This file is part of Barman.
5 | #
6 | # Barman is free software: you can redistribute it and/or modify
7 | # it under the terms of the GNU General Public License as published by
8 | # the Free Software Foundation, either version 3 of the License, or
9 | # (at your option) any later version.
10 | #
11 | # Barman is distributed in the hope that it will be useful,
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | # GNU General Public License for more details.
15 | #
16 | # You should have received a copy of the GNU General Public License
17 | # along with Barman. If not, see .
18 |
19 | import logging
20 |
21 | import mock
22 | import psycopg2
23 | import pytest
24 |
25 |
26 | @pytest.fixture(scope="session", autouse=True)
27 | def default_session_fixture(request):
28 | """
29 | Make sure that any real connection to Postgres results in an error
30 |
31 | :type request: _pytest.python.SubRequest
32 | :return:
33 | """
34 | logging.info("Patching barman.postgres.psycopg2.connect")
35 | connect_patch = mock.patch("barman.postgres.psycopg2.connect")
36 | connect_mock = connect_patch.__enter__()
37 | connect_mock.side_effect = psycopg2.DatabaseError
38 |
39 | def unpatch():
40 | connect_patch.__exit__([None])
41 | logging.info("Unpatching barman.postgres.psycopg2.connect")
42 |
43 | request.addfinalizer(unpatch)
44 |
--------------------------------------------------------------------------------
/tests/requirements_dev.txt:
--------------------------------------------------------------------------------
1 | .
2 | .[cloud]
3 | .[azure]
4 | .[snappy]
5 | .[zstandard]
6 | .[lz4]
7 | .[google]
8 | pytest
9 | mock
10 | py
11 | # msrest is a transitive dependency of azure-storage-blob and
12 | # is broken on python 2 for versions >= 0.7.0
13 | msrest<0.7.0
14 |
--------------------------------------------------------------------------------
/tests/requirements_flake8.txt:
--------------------------------------------------------------------------------
1 | flake8==4.0.1
2 | flake8-mock
3 | flake8-string-format
4 | flake8-copyright
5 | flake8-isort
6 | # Keep the next line until a fix for the following issue is released
7 | # https://github.com/gforcada/flake8-isort/issues/88
8 | isort<5
9 |
--------------------------------------------------------------------------------
/tests/storage/test_file_stats.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # © Copyright EnterpriseDB UK Limited 2013-2025
3 | #
4 | # This file is part of Barman.
5 | #
6 | # Barman is free software: you can redistribute it and/or modify
7 | # it under the terms of the GNU General Public License as published by
8 | # the Free Software Foundation, either version 3 of the License, or
9 | # (at your option) any later version.
10 | #
11 | # Barman is distributed in the hope that it will be useful,
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | # GNU General Public License for more details.
15 | #
16 | # You should have received a copy of the GNU General Public License
17 | # along with Barman. If not, see .
18 |
19 | from barman.storage.file_stats import FileStats
20 |
21 |
22 | class TestFileStats(object):
23 | def test_file_exists_false(self):
24 | file_stats = FileStats(6513, 1638973166)
25 | assert 6513 == file_stats.get_size()
26 | assert "2021-12-08 14:19:26" == file_stats.get_last_modified()
27 |
--------------------------------------------------------------------------------
/tests/storage/test_local_file_manager.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # © Copyright EnterpriseDB UK Limited 2013-2025
3 | #
4 | # This file is part of Barman.
5 | #
6 | # Barman is free software: you can redistribute it and/or modify
7 | # it under the terms of the GNU General Public License as published by
8 | # the Free Software Foundation, either version 3 of the License, or
9 | # (at your option) any later version.
10 | #
11 | # Barman is distributed in the hope that it will be useful,
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | # GNU General Public License for more details.
15 | #
16 | # You should have received a copy of the GNU General Public License
17 | # along with Barman. If not, see .
18 |
19 | import pytest
20 | from mock import patch
21 |
22 | from barman.storage.local_file_manager import LocalFileManager
23 |
24 |
25 | class TestLocalFileManager(object):
26 | @pytest.fixture
27 | def file_content(self):
28 | return "this is \n a very useful\t content."
29 |
30 | def test_file_exists_false(self, tmpdir):
31 | file_manager = LocalFileManager()
32 | assert not file_manager.file_exist(str(tmpdir + "/some_file"))
33 |
34 | def test_file_exist_true(self, tmpdir):
35 | source = tmpdir.join("some_file")
36 | source.write("something", ensure=True)
37 | file_manager = LocalFileManager()
38 | assert file_manager.file_exist(source.strpath)
39 |
40 | def test_get_file_stats_file_not_found(self, tmpdir):
41 | source = tmpdir.join("some_file")
42 |
43 | file_manager = LocalFileManager()
44 | with pytest.raises(IOError):
45 | file_manager.get_file_stats(source.strpath)
46 |
47 | @patch("barman.storage.local_file_manager.FileStats")
48 | def test_get_file_stats(self, file_stat, tmpdir):
49 | source = tmpdir.join("some_file")
50 | source.write("something", ensure=True)
51 | expected_mtime = source.mtime()
52 |
53 | file_manager = LocalFileManager()
54 | file_manager.get_file_stats(source.strpath)
55 |
56 | file_stat.assert_called_once_with(9, expected_mtime)
57 |
58 | def test_get_file_list(self, tmpdir):
59 | tmpdir.join("subdir").mkdir()
60 | tmpdir.join("subdir/file").write("")
61 | tmpdir.join("some_file").write("")
62 |
63 | base_dir = tmpdir.strpath
64 | expected_list = [base_dir + "/some_file", base_dir + "/subdir/file"]
65 | file_manager = LocalFileManager()
66 | file_list = file_manager.get_file_list(base_dir)
67 | assert expected_list == file_list
68 |
69 | def test_get_file_content_string_mode(self, tmpdir, file_content):
70 | a_file = tmpdir.join("some_file")
71 | a_file.write(file_content, ensure=True)
72 |
73 | file_manager = LocalFileManager()
74 | read_content = file_manager.get_file_content(a_file.strpath, file_mode="r")
75 | assert file_content == read_content
76 |
77 | def test_get_file_content_binary_mode(self, tmpdir, file_content):
78 | a_file = tmpdir.join("some_file")
79 | a_file.write(file_content, ensure=True)
80 |
81 | file_manager = LocalFileManager()
82 | read_content = file_manager.get_file_content(a_file.strpath, file_mode="rb")
83 | assert file_content.encode("utf-8") == read_content
84 |
85 | def test_save_content_to_file_string_mode(self, tmpdir, file_content):
86 | a_file = tmpdir.join("some_file")
87 | file_manager = LocalFileManager()
88 | file_manager.save_content_to_file(a_file.strpath, file_content, file_mode="w")
89 |
90 | read_content = a_file.read()
91 | assert file_content == read_content
92 |
93 | def test_save_content_to_file_binary_mode(self, tmpdir, file_content):
94 | a_file = tmpdir.join("some_file")
95 | file_manager = LocalFileManager()
96 | file_manager.save_content_to_file(
97 | a_file.strpath, file_content.encode(), file_mode="wb"
98 | )
99 |
100 | read_content = a_file.read()
101 | assert file_content == read_content
102 |
--------------------------------------------------------------------------------
/tests/test_barman_cloud_backup_list.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # © Copyright EnterpriseDB UK Limited 2013-2025
3 | #
4 | # Client Utilities for Barman, Backup and Recovery Manager for PostgreSQL
5 | #
6 | # Barman is free software: you can redistribute it and/or modify
7 | # it under the terms of the GNU General Public License as published by
8 | # the Free Software Foundation, either version 3 of the License, or
9 | # (at your option) any later version.
10 | #
11 | # Barman is distributed in the hope that it will be useful,
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | # GNU General Public License for more details.
15 | #
16 | # You should have received a copy of the GNU General Public License
17 | # along with Barman. If not, see .
18 |
19 | import datetime
20 |
21 | import mock
22 | from testing_helpers import build_test_backup_info
23 |
24 | from barman.annotations import KeepManager
25 | from barman.clients import cloud_backup_list
26 |
27 |
28 | class TestCloudBackupList(object):
29 | @mock.patch("barman.clients.cloud_backup_list.CloudBackupCatalog")
30 | @mock.patch("barman.clients.cloud_backup_list.get_cloud_interface")
31 | def test_cloud_backup_list(
32 | self, mock_get_cloud_interface, mock_cloud_backup_catalog, capsys
33 | ):
34 | """
35 | Verify output of barman-cloud-backup-list for a set of backups
36 | where two are archival and one is not.
37 | """
38 | cloud_backup_catalog = mock_cloud_backup_catalog.return_value
39 | cloud_backup_catalog.get_backup_list.return_value = {
40 | "backup_id_1": build_test_backup_info(
41 | backup_id="backup_id_1",
42 | end_time=datetime.datetime(2016, 3, 29, 17, 5, 20),
43 | begin_wal="000000010000000000000002",
44 | ),
45 | "backup_id_2": build_test_backup_info(
46 | backup_id="backup_id_2",
47 | end_time=datetime.datetime(2016, 3, 30, 17, 5, 20),
48 | begin_wal="000000010000000000000005",
49 | ),
50 | "backup_id_3": build_test_backup_info(
51 | backup_id="backup_id_3",
52 | backup_name="named backup 1",
53 | end_time=datetime.datetime(2016, 3, 31, 5, 5, 20),
54 | begin_wal="000000010000000000000007",
55 | ),
56 | "backup_id_4": build_test_backup_info(
57 | backup_id="backup_id_4",
58 | backup_name="named backup 2",
59 | end_time=datetime.datetime(2016, 3, 31, 17, 5, 20),
60 | begin_wal="000000010000000000000008",
61 | ),
62 | }
63 | cloud_backup_catalog.get_keep_target.side_effect = (
64 | lambda backup_id: backup_id == "backup_id_4"
65 | and KeepManager.TARGET_FULL
66 | or backup_id == "backup_id_1"
67 | and KeepManager.TARGET_STANDALONE
68 | or None
69 | )
70 | cloud_backup_list.main(
71 | [
72 | "cloud_storage_url",
73 | "test_server",
74 | ]
75 | )
76 | out, _err = capsys.readouterr()
77 | assert out == (
78 | "Backup ID End Time Begin Wal Archival Status Name \n"
79 | "backup_id_1 2016-03-29 17:05:20 000000010000000000000002 KEEP:STANDALONE \n"
80 | "backup_id_2 2016-03-30 17:05:20 000000010000000000000005 \n"
81 | "backup_id_3 2016-03-31 05:05:20 000000010000000000000007 named backup 1 \n"
82 | "backup_id_4 2016-03-31 17:05:20 000000010000000000000008 KEEP:FULL named backup 2 \n"
83 | )
84 |
--------------------------------------------------------------------------------
/tests/test_postgres_plumbing.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # © Copyright EnterpriseDB UK Limited 2013-2025
3 | #
4 | # This file is part of Barman.
5 | #
6 | # Barman is free software: you can redistribute it and/or modify
7 | # it under the terms of the GNU General Public License as published by
8 | # the Free Software Foundation, either version 3 of the License, or
9 | # (at your option) any later version.
10 | #
11 | # Barman is distributed in the hope that it will be useful,
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | # GNU General Public License for more details.
15 | #
16 | # You should have received a copy of the GNU General Public License
17 | # along with Barman. If not, see .
18 |
19 | from barman.postgres_plumbing import function_name_map
20 |
21 |
22 | class TestFunctionNameMap(object):
23 | def test_null_server_version(self):
24 | result = function_name_map(None)
25 | assert result["pg_switch_wal"] == "pg_switch_wal"
26 |
27 | def test_postgresql_10(self):
28 | result = function_name_map(100100)
29 | assert result["pg_switch_wal"] == "pg_switch_wal"
30 |
31 | def test_postgresql_9(self):
32 | result = function_name_map(90100)
33 | assert result["pg_switch_wal"] == "pg_switch_xlog"
34 |
--------------------------------------------------------------------------------
/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | envlist = py36, py37, py38, py39, py310, flake8
3 |
4 | [testenv]
5 | deps = -r tests/requirements_dev.txt
6 |
7 | commands = py.test {posargs:tests}
8 | passenv = USER
9 |
10 | [testenv:flake8]
11 | basepython = python3.7
12 | commands = flake8 {posargs}
13 | deps = -r tests/requirements_flake8.txt
14 |
15 | [flake8]
16 | select = E,F,W,C
17 | ignore = E203, E501, W503
18 | max-line-length = 88
19 | copyright-check = True
20 | copyright-regexp = © Copyright %(author)s (\d{4}-)2025
21 | copyright-author = EnterpriseDB UK Limited
22 | exclude = venv,.tox,build
23 |
24 | [testenv:black]
25 | basepython = python3.9
26 | deps = black
27 | commands = black .
28 |
29 | [testenv:coverage]
30 | basepython = python3.9
31 | deps = -r tests/requirements_dev.txt
32 | pytest-cov
33 | setenv =
34 | PYTHONPATH=.
35 | commands = py.test {posargs:tests} --cov barman --cov-report xml:coverage-reports/coverage.xml --cov-report term
36 |
37 | [gh-actions]
38 | python =
39 | 3.6: py36
40 | 3.7: py37
41 | 3.8: py38
42 | 3.9: py39
43 | 3.10: py310
44 |
45 | [testenv:docs]
46 | deps = sphinx
47 | sphinx-github-style
48 | sphinxcontrib-apidoc
49 | pydata-sphinx-theme
50 | myst_parser
51 | setenv =
52 | PYTHONPATH=.
53 | passenv = SPHINX_BUILD_DATE
54 | commands = make -C docs {posargs:html man}
55 | allowlist_externals =
56 | make
57 |
58 | [testenv:docs-clean]
59 | deps = sphinx
60 | setenv =
61 | PYTHONPATH=.
62 | commands = make -C docs clean
63 | allowlist_externals =
64 | make
65 |
--------------------------------------------------------------------------------