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