Provided by: barman_3.10.0-1_all bug

NAME

       barman - Backup and Recovery Manager for PostgreSQL

DESCRIPTION

       Barman  is an administration tool for disaster recovery of PostgreSQL servers written in Python and main‐
       tained by EnterpriseDB.  Barman can perform remote backups of multiple servers in business critical envi‐
       ronments and helps DBAs during the recovery phase.

CONFIGURATION FILE LOCATIONS

       The system-level Barman configuration file is located at

              /etc/barman.conf

       or

              /etc/barman/barman.conf

       and is overridden on a per-user level by

              $HOME/.barman.conf

CONFIGURATION FILE SYNTAX

       The Barman configuration file is a plain INI file.  There is a general section called [barman] and a sec‐
       tion [servername] for each server you want to backup.  Rows starting with ; are comments.

CONFIGURATION FILE DIRECTORY

       Barman supports the inclusion of multiple configuration files, through the  configuration_files_directory
       option.  Included files must contain only server specifications, not global configurations.  If the value
       of  configuration_files_directory  is a directory, Barman reads all files with .conf extension that exist
       in that folder.  For example, if you set it to /etc/barman.d, you can  specify  your  PostgreSQL  servers
       placing each section in a separate .conf file inside the /etc/barman.d folder.

OPTIONS

       active When set to true (default), the server is in full operational state.  When set to false, the serv‐
              er  can  be  used  for  diagnostics,  but  any operational command such as backup execution or WAL
              archiving is temporarily disabled.  When adding a new server to Barman,  we  suggest  setting  ac‐
              tive=false at first, making sure that barman check shows no problems, and only then activating the
              server.  This will avoid spamming the Barman logs with errors during the initial setup.

              Scope: Server/Model.

       archiver
              This  option  allows  you to activate log file shipping through PostgreSQL's archive_command for a
              server.  If set to true, Barman expects that continuous archiving for a server  is  in  place  and
              will  activate checks as well as management (including compression) of WAL files that Postgres de‐
              posits in the incoming directory.  Setting it to false (default), will disable standard continuous
              archiving for a server.  Note: If neither archiver nor streaming_archiver are set, Barman will au‐
              tomatically set this option to true.  This is in order to maintain parity with  deprecated  behav‐
              iour where archiver would be enabled by default.  This behaviour will be removed from the next ma‐
              jor Barman version.

              Scope: Global/Server/Model.

       archiver_batch_size
              This option allows you to activate batch processing of WAL files for the archiver process, by set‐
              ting  it  to a value > 0.  Otherwise, the traditional unlimited processing of the WAL queue is en‐
              abled.  When batch processing is activated, the archive-wal process would limit itself to  maximum
              archiver_batch_size WAL segments per single run.  Integer.

              Scope: Global/Server/Model.

       autogenerate_manifest
              This  option  enables  the  auto-generation  of  backup manifest files for rsync based backups and
              strategies.  The manifest file is a JSON file containing the list of files contained in the  back‐
              up.   It  is  generated  at the end of the backup process and stored in the backup directory.  The
              manifest file generated follows the format described in the postgesql documentation, and  is  com‐
              patible with the pg_verifybackup tool.  The option is ignored if the backup method is not rsync.

              Scope: Global/Server/Model.

       aws_profile
              The  name of the AWS profile to use when authenticating with AWS (e.g.  INI section in AWS creden‐
              tials file).

              Scope: Global/Server/Model.

       aws_region
              The name of the AWS region containing the EC2 VM and storage volumes defined by  snapshot_instance
              and snapshot_disks.

              Scope: Global/Server/Model.

       azure_credential
              The  credential type (either azure-cli or managed-identity) to use when authenticating with Azure.
              If this is omitted then the default Azure authentication flow will be used.

              Scope: Global/Server/Model.

       azure_resource_group
              The name of the Azure resource group to which the compute instance  and  disks  defined  by  snap‐
              shot_instance  and snapshot_disks belong.  Required when the snapshot value is specified for back‐
              up_method and snapshot_provider is set to azure.

              Scope: Global/Server/Model.

       azure_subscription_id
              The ID of the Azure subscription which owns the instance and  storage  volumes  defined  by  snap‐
              shot_instance and snapshot_disks.  Required when the snapshot value is specified for backup_method
              and snapshot_provider is set to azure.

              Scope: Global/Server/Model.

       backup_compression
              The  compression  to be used during the backup process.  Only supported when backup_method = post‐
              gres.  Can either be unset or gzip,lz4, zstd or none.  If unset then no compression will  be  used
              during  the  backup.   Use of this option requires that the CLI application for the specified com‐
              pression algorithm is available on the Barman server (at backup time) and  the  PostgreSQL  server
              (at  recovery time).  Note that the lz4 and zstd algorithms require PostgreSQL 15 (beta) or later.
              Note that none compression will create an archive not compressed.

              Scope: Global/Server/Model.

       backup_compression_format
              The format pg_basebackup should use when writing compressed backups to disk.  Can be set to either
              plain or tar.  If unset then a default of tar is assumed.  The value plain can only be used if the
              server is running PostgreSQL 15 or later and if backup_compression_location is server.  Only  sup‐
              ported when backup_method = postgres.

              Scope: Global/Server/Model.

       backup_compression_level
              An integer value representing the compression level to use when compressing backups.  Allowed val‐
              ues  depend  on  the  compression  algorithm specified by backup_compression.  Only supported when
              backup_method = postgres.

              Scope: Global/Server/Model.

       backup_compression_location
              The location (either client or server) where compression should be performed  during  the  backup.
              The value server is only allowed if the server is running PostgreSQL 15 or later.

              Scope: Global/Server/Model.

       backup_compression_workers
              The number of compression threads to be used during the backup process.  Only supported when back‐
              up_compression = zstd is set.  Default value is 0.  In this case default compression behavior will
              be used.

              Scope: Global/Server/Model.

       backup_directory
              Directory where backup data for a server will be placed.

              Scope: Server.

       backup_method
              Configure the method barman used for backup execution.  If set to rsync (default), barman will ex‐
              ecute  backup  using the rsync command over SSH (requires ssh_command).  If set to postgres barman
              will use the pg_basebackup command to execute the backup.  If set to local-rsync, barman will  as‐
              sume to be running on the same server as the PostgreSQL instance and with the same user, then exe‐
              cute  rsync  for  the file system copy.  If set to snapshot, barman will use the API for the cloud
              provider defined in the snapshot_provider option to create snapshots of  disks  specified  in  the
              snapshot_disks option and save only the backup label and metadata to its own storage.

              Scope: Global/Server/Model.

       backup_options
              This  option  allows you to control the way Barman interacts with PostgreSQL for backups.  It is a
              comma-separated list of values that accepts the following options:

              • concurrent_backup (default): barman backup executes backup operations  using  concurrent  backup
                which  is the recommended backup approach for PostgreSQL versions >= 9.6 and uses the PostgreSQL
                API.  concurrent_backup can also be used to perform a backup from a standby server.

              • exclusive_backup (PostgreSQL versions older than 15 only): barman backup executes backup  opera‐
                tions  using  the  deprecated exclusive backup approach (technically through pg_start_backup and
                pg_stop_backup)

              • external_configuration: if present, any warning regarding external configuration files  is  sup‐
                pressed during the execution of a backup.

              Note that exclusive_backup and concurrent_backup are mutually exclusive.

              Scope: Global/Server/Model.

       bandwidth_limit
              This option allows you to specify a maximum transfer rate in kilobytes per second.  A value of ze‐
              ro specifies no limit (default).

              Scope: Global/Server/Model.

       barman_home
              Main data directory for Barman.

              Scope: Global.

       barman_lock_directory
              Directory for locks.  Default: %(barman_home)s.

              Scope: Global.

       basebackup_retry_sleep
              Number  of seconds of wait after a failed copy, before retrying Used during both backup and recov‐
              ery operations.  Positive integer, default 30.

              Scope: Global/Server/Model.

       basebackup_retry_times
              Number of retries of base backup copy, after an error.  Used during both backup and recovery oper‐
              ations.  Positive integer, default 0.

              Scope: Global/Server/Model.

       basebackups_directory
              Directory where base backups will be placed.

              Scope: Server.

       check_timeout
              Maximum execution time, in seconds per server, for a barman check command.  Set to  0  to  disable
              the timeout.  Positive integer, default 30.

              Scope: Global/Server/Model.

       cluster
              Name  of  the  Barman  cluster  associated with a Barman server or model.  Used by Barman to group
              servers and configuration models that can be applied to them.  Can  be  omitted  for  servers,  in
              which  case it defaults to the server name.  Must be set for configuration models, so Barman knows
              the set of servers which can apply a given model.

              Scope: Server/Model.

       compression
              Standard compression algorithm applied to WAL files.  Possible values are: gzip (requires gzip  to
              be installed on the system), bzip2 (requires bzip2), pigz (requires pigz), pygzip (Python's inter‐
              nal gzip compressor) and pybzip2 (Python's internal bzip2 compressor).

              Scope: Global/Server/Model.

       config_changes_queue
              Barman uses a queue to apply configuration changes requested through barman config-update command.
              This  allows  it to serialize multiple requests of configuration changes, and also retry an opera‐
              tion which has been abruptly terminated.  This configuration option allows you to specify where in
              the filesystem  the  queue  should  be  written.   By  default  Barman  writes  to  a  file  named
              cfg_changes.queue under barman_home.

              Scope: global.

       conninfo
              Connection  string  used  by Barman to connect to the Postgres server.  This is a libpq connection
              string, consult the PostgreSQL  manual  (https://www.postgresql.org/docs/current/static/libpq-con‐
              nect.html#LIBPQ-CONNSTRING)  for  more information.  Commonly used keys are: host, hostaddr, port,
              dbname, user, password.

              Scope: Server/Model.

       create_slot
              When set to auto and slot_name is defined, Barman automatically attempts to create the replication
              slot if not present.  When set to manual (default), the replication slot needs to be manually cre‐
              ated.

              Scope: Global/Server/Model.

       custom_compression_filter
              Customised compression algorithm applied to WAL files.

              Scope: Global/Server/Model.

       custom_compression_magic
              Customised compression magic which is checked in the beginning of a WAL file to select the  custom
              algorithm.   If  you  are  using a custom compression filter then setting this will prevent barman
              from applying the custom compression to WALs which have been pre-compressed with that compression.
              If you do not configure this then custom compression will still be applied but any  pre-compressed
              WAL files will be compressed again during WAL archive.

              Scope: Global/Server/Model.

       custom_decompression_filter
              Customised  decompression  algorithm applied to compressed WAL files; this must match the compres‐
              sion algorithm.

              Scope: Global/Server/Model.

       description
              A human readable description of a server.

              Scope: Server/Model.

       errors_directory
              Directory that contains WAL files that contain an error; usually this is  related  to  a  conflict
              with an existing WAL file (e.g.  a WAL file that has been archived after a streamed one).

              Scope: Server.

       forward_config_path
              Parameter  which  determines  whether a passive node should forward its configuration file path to
              its primary node during cron or sync-info commands.  Set to true if you are invoking  barman  with
              the -c/--config option and your configuration is in the same place on both the passive and primary
              barman servers.  Defaults to false.

              Scope: Global/Server/Model.

       gcp_project
              The ID of the GCP project which owns the instance and storage volumes defined by snapshot_instance
              and  snapshot_disks.   Required  when  the snapshot value is specified for backup_method and snap‐
              shot_provider is set to gcp.

              Scope: Global/Server/Model.

       gcp_zone
              The name of the availability zone where the compute instance and disks to be backed up in a  snap‐
              shot  backup  are  located.   Required  when the snapshot value is specified for backup_method and
              snapshot_provider is set to gcp.

              Scope: Server/Model.

       immediate_checkpoint
              This option allows you to control the way PostgreSQL handles checkpoint at the start of the  back‐
              up.   If set to false (default), the I/O workload for the checkpoint will be limited, according to
              the checkpoint_completion_target setting on the PostgreSQL server.  If set to true,  an  immediate
              checkpoint will be requested, meaning that PostgreSQL will complete the checkpoint as soon as pos‐
              sible.

              Scope: Global/Server/Model.

       incoming_wals_directory
              Directory where incoming WAL files are archived into.  Requires archiver to be enabled.

              Scope: Server.

       last_backup_maximum_age
              This  option identifies a time frame that must contain the latest backup.  If the latest backup is
              older than the time frame, barman check command will report an error to the user.  If  empty  (de‐
              fault),  latest  backup is always considered valid.  Syntax for this option is: "i (DAYS | WEEKS |
              MONTHS)" where i is an integer greater than zero, representing the number of days | weeks | months
              of the time frame.

              Scope: Global/Server/Model.

       last_backup_minimum_size
              This option identifies lower limit to the acceptable size of the latest successful backup.  If the
              latest backup is smaller than the specified size, barman check command will report an error to the
              user.  If empty (default), latest backup is always considered valid.  Syntax for this  option  is:
              "i (k|Ki|M|Mi|G|Gi|T|Ti)" where i is an integer greater than zero, with an optional SI or IEC suf‐
              fix.  k=kilo=1000, Ki=Kibi=1024 and so forth.  Note that the suffix is case-sensitive.

              Scope: Global/Server/Model.

       last_wal_maximum_age
              This option identifies a time frame that must contain the latest WAL file archived.  If the latest
              WAL  file is older than the time frame, barman check command will report an error to the user.  If
              empty (default), the age of the WAL files is not checked.  Syntax is the same as last_backup_maxi‐
              mum_age (above).

              Scope: Global/Server/Model.

       lock_directory_cleanup
              enables automatic cleaning up of the barman_lock_directory from unused lock files.

              Scope: Global.

       log_file
              Location of Barman's log file.

              Scope: Global.

       log_level
              Level of logging (DEBUG, INFO, WARNING, ERROR, CRITICAL).

              Scope: Global.

       max_incoming_wals_queue
              Maximum number of WAL files in the incoming queue (in both streaming and archiving pools) that are
              allowed before barman check returns an error (that does not block backups).  Default:  None  (dis‐
              abled).

              Scope: Global/Server/Model.

       minimum_redundancy
              Minimum number of backups to be retained.  Default 0.

              Scope: Global/Server/Model.

       model  By default any section configured in the Barman configuration files define the configuration for a
              Barman server.  If you set model = true in a section, that turns that section into a configuration
              model for a given cluster.  Cannot be set as false.

              Scope: Model.

       network_compression
              This  option  allows  you  to enable data compression for network transfers.  If set to false (de‐
              fault), no compression is used.  If set to true, compression is enabled, reducing network usage.

              Scope: Global/Server/Model.

       parallel_jobs
              This option controls how many parallel workers will copy files during a backup  or  recovery  com‐
              mand.  Default 1.  For backup purposes, it works only when backup_method is rsync.

              Scope: Global/Server/Model.

       parallel_jobs_start_batch_period
              The time period in seconds over which a single batch of jobs will be started.  Default: 1 second.

              Scope: Global/Server/Model.

       parallel_jobs_start_batch_size
              Maximum number of parallel jobs to start in a single batch.  Default: 10 jobs.

              Scope: Global/Server/Model.

       path_prefix
              One  or  more  absolute  paths,  separated by colon, where Barman looks for executable files.  The
              paths specified in path_prefix are tried before the ones specified in PATH environment variable.

              Scope: Global/server/Model.

       post_archive_retry_script
              Hook script launched after a WAL file is archived by maintenance.  Being this a retry hook script,
              Barman will retry the execution of the  script  until  this  either  returns  a  SUCCESS  (0),  an
              ABORT_CONTINUE  (62)  or an ABORT_STOP (63) code.  In a post archive scenario, ABORT_STOP has cur‐
              rently the same effects as ABORT_CONTINUE.

              Scope: Global/Server.

       post_archive_script
              Hook   script   launched   after   a   WAL   file    is    archived    by    maintenance,    after
              'post_archive_retry_script'.

              Scope: Global/Server.

       post_backup_retry_script
              Hook  script  launched after a base backup.  Being this a retry hook script, Barman will retry the
              execution of the script until this either returns a SUCCESS (0),  an  ABORT_CONTINUE  (62)  or  an
              ABORT_STOP  (63)  code.   In  a post backup scenario, ABORT_STOP has currently the same effects as
              ABORT_CONTINUE.

              Scope: Global/Server.

       post_backup_script
              Hook script launched after a base backup, after 'post_backup_retry_script'.

              Scope: Global/Server.

       post_delete_retry_script
              Hook script launched after the deletion of a backup.  Being this a retry hook script, Barman  will
              retry  the execution of the script until this either returns a SUCCESS (0), an ABORT_CONTINUE (62)
              or an ABORT_STOP (63) code.  In a post delete scenario, ABORT_STOP has currently the same  effects
              as ABORT_CONTINUE.

              Scope: Global/Server.

       post_delete_script
              Hook script launched after the deletion of a backup, after 'post_delete_retry_script'.

              Scope: Global/Server.

       post_recovery_retry_script
              Hook script launched after a recovery.  Being this a retry hook script, Barman will retry the exe‐
              cution  of  the  script  until  this  either  returns  a SUCCESS (0), an ABORT_CONTINUE (62) or an
              ABORT_STOP (63) code.  In a post recovery scenario, ABORT_STOP has currently the same  effects  as
              ABORT_CONTINUE.

              Scope: Global/Server.

       post_recovery_script
              Hook script launched after a recovery, after 'post_recovery_retry_script'.

              Scope: Global/Server.

       post_wal_delete_retry_script
              Hook  script  launched  after  the deletion of a WAL file.  Being this a retry hook script, Barman
              will retry the execution of the script until this either returns a SUCCESS (0), an  ABORT_CONTINUE
              (62) or an ABORT_STOP (63) code.  In a post delete scenario, ABORT_STOP has currently the same ef‐
              fects as ABORT_CONTINUE.

              Scope: Global/Server.

       post_wal_delete_script
              Hook script launched after the deletion of a WAL file, after 'post_wal_delete_retry_script'.

              Scope: Global/Server.

       pre_archive_retry_script
              Hook  script  launched  before  a WAL file is archived by maintenance, after 'pre_archive_script'.
              Being this a retry hook script, Barman will retry the execution of the script  until  this  either
              returns  a  SUCCESS  (0), an ABORT_CONTINUE (62) or an ABORT_STOP (63) code.  Returning ABORT_STOP
              will propagate the failure at a higher level and interrupt the WAL archiving operation.

              Scope: Global/Server.

       pre_archive_script
              Hook script launched before a WAL file is archived by maintenance.

              Scope: Global/Server.

       pre_backup_retry_script
              Hook script launched before a base backup, after 'pre_backup_script'.  Being  this  a  retry  hook
              script,  Barman will retry the execution of the script until this either returns a SUCCESS (0), an
              ABORT_CONTINUE (62) or an ABORT_STOP (63) code.  Returning ABORT_STOP will propagate  the  failure
              at a higher level and interrupt the backup operation.

              Scope: Global/Server.

       pre_backup_script
              Hook script launched before a base backup.

              Scope: Global/Server.

       pre_delete_retry_script
              Hook  script  launched  before  the deletion of a backup, after 'pre_delete_script'.  Being this a
              retry hook script, Barman will retry the execution of the script until this either returns a  SUC‐
              CESS  (0), an ABORT_CONTINUE (62) or an ABORT_STOP (63) code.  Returning ABORT_STOP will propagate
              the failure at a higher level and interrupt the backup deletion.

              Scope: Global/Server.

       pre_delete_script
              Hook script launched before the deletion of a backup.

              Scope: Global/Server.

       pre_recovery_retry_script
              Hook script launched before a recovery, after 'pre_recovery_script'.   Being  this  a  retry  hook
              script,  Barman will retry the execution of the script until this either returns a SUCCESS (0), an
              ABORT_CONTINUE (62) or an ABORT_STOP (63) code.  Returning ABORT_STOP will propagate  the  failure
              at a higher level and interrupt the recover operation.

              Scope: Global/Server.

       pre_recovery_script
              Hook script launched before a recovery.

              Scope: Global/Server.

       pre_wal_delete_retry_script
              Hook script launched before the deletion of a WAL file, after 'pre_wal_delete_script'.  Being this
              a  retry  hook  script,  Barman will retry the execution of the script until this either returns a
              SUCCESS (0), an ABORT_CONTINUE (62) or an ABORT_STOP (63) code.  Returning ABORT_STOP will  propa‐
              gate the failure at a higher level and interrupt the WAL file deletion.

              Scope: Global/Server.

       pre_wal_delete_script
              Hook script launched before the deletion of a WAL file.

              Scope: Global/Server.

       primary_checkpoint_timeout
              This  defines  the  amount  of  seconds that Barman will wait at the end of a backup if no new WAL
              files are produced, before forcing a checkpoint on the primary server.

              If not set or set to 0, Barman will not force a checkpoint on the primary, and  wait  indefinitely
              for new WAL files to be produced.

              The  value of this option should be greater of the value of the archive_timeout set on the primary
              server.

              This option works only if primary_conninfo option is set, and it is ignored otherwise.

              Scope: Server/Model.

       primary_conninfo
              The connection string used by Barman to connect to the primary Postgres server during backup of  a
              standby  Postgres  server.  Barman will use this connection to carry out any required WAL switches
              on the primary during the backup of the standby.   This  allows  backups  to  complete  even  when
              archive_mode = always  is set on the standby and write traffic to the primary is not sufficient to
              trigger a natural WAL switch.

              If primary_conninfo is set then it must be pointing to a primary Postgres  instance  and  conninfo
              must  be  pointing to a standby Postgres instance.  Furthermore both instances must share the same
              systemid.  If these conditions are not met then barman check will fail.

              The primary_conninfo value must be a  libpq  connection  string;  consult  the  PostgreSQL  manual
              (https://www.postgresql.org/docs/current/static/libpq-connect.html#LIBPQ-CONNSTRING)  for more in‐
              formation.  Commonly used keys are: host, hostaddr, port, dbname, user, password.

              Scope: Server/Model.

       primary_ssh_command
              Parameter that identifies a Barman server as passive.  In a passive node, the source of  a  backup
              server is a Barman installation rather than a PostgreSQL server.  If primary_ssh_command is speci‐
              fied,  Barman uses it to establish a connection with the primary server.  Empty by default, it can
              also be set globally.

              Scope: Global/Server/Model.

       recovery_options
              Options for recovery operations.  Currently only supports get-wal.  get-wal  activates  generation
              of  a  basic  restore_command in the resulting recovery configuration that uses the barman get-wal
              command to fetch WAL files directly from Barman's archive of WALs.  Comma separated list  of  val‐
              ues, default empty.

              Scope: Global/Server/Model.

       recovery_staging_path
              A  path  to  a  location  on the recovery host (either the barman server or a remote host if --re‐
              mote-ssh-command is also used) where files for a compressed backup will be staged before being un‐
              compressed to the destination directory.  Backups will be staged in their own directory within the
              staging path according to the following naming convention: "barman-staging-SERVER_NAME-BACKUP_ID".
              The staging directory within the staging path will be removed at the end of the recovery  process.
              This option is required when recovering from compressed backups and has no effect otherwise.

              Scope: Global/Server/Model.

       retention_policy
              Policy  for retention of periodic backups and archive logs.  If left empty, retention policies are
              not enforced.  For redundancy based retention policy use "REDUNDANCY i" (where i is an integer > 0
              and defines the number of backups to retain).  For recovery window retention policy use  "RECOVERY
              WINDOW  OF  i  DAYS" or "RECOVERY WINDOW OF i WEEKS" or "RECOVERY WINDOW OF i MONTHS" where i is a
              positive integer representing, specifically, the number of days, weeks or months  to  retain  your
              backups.   For  more  detailed information, refer to the official documentation.  Default value is
              empty.

              Scope: Global/Server/Model.

       retention_policy_mode
              Currently only "auto" is implemented.

              Scope: Global/Server/Model.

       reuse_backup
              This option controls incremental backup support.  Possible values are:

              • off: disabled (default);

              • copy: reuse the last available backup for a server and create a copy of the unchanged files (re‐
                duce backup time);

              • link: reuse the last available backup for a server and create a hard link of the unchanged files
                (reduce backup time and space).  Requires operating system and  file  system  support  for  hard
                links.

              Scope: Global/Server/Model.

       slot_name
              Physical  replication slot to be used by the receive-wal command when streaming_archiver is set to
              on.  Default: None (disabled).

              Scope: Global/Server/Model.

       snapshot_disks
              A comma-separated list of disks which should be included in a backup taken using cloud  snapshots.
              Required when the snapshot value is specified for backup_method.

              Scope: Server/Model.

       snapshot_instance
              The  name of the VM or compute instance where the storage volumes are attached.  Required when the
              snapshot value is specified for backup_method.

              Scope: Server/Model.

       snapshot_provider
              The name of the cloud provider which should be used to create snapshots.  Required when the  snap‐
              shot value is specified for backup_method.  Supported values: gcp.

              Scope: Global/Server/Model.

       ssh_command
              Command used by Barman to login to the Postgres server via ssh.

              Scope: Server/Model.

       streaming_archiver
              This option allows you to use the PostgreSQL's streaming protocol to receive transaction logs from
              a  server.   If  set to on, Barman expects to find pg_receivewal (known as pg_receivexlog prior to
              PostgreSQL 10) in the PATH (see path_prefix option) and that streaming connection for  the  server
              is working.  This activates connection checks as well as management (including compression) of WAL
              files.   If  set  to  off (default) barman will rely only on continuous archiving for a server WAL
              archive operations, eventually terminating any running pg_receivexlog for the  server.   Note:  If
              neither  streaming_archiver  nor archiver are set, Barman will automatically set archiver to true.
              This is in order to maintain parity with deprecated behaviour where archiver would be  enabled  by
              default.  This behaviour will be removed from the next major Barman version.

              Scope: Global/Server/Model.

       streaming_archiver_batch_size
              This  option  allows  you  to  activate  batch  processing of WAL files for the streaming_archiver
              process, by setting it to a value > 0.  Otherwise, the traditional unlimited processing of the WAL
              queue is enabled.  When batch processing is activated, the archive-wal process would limit  itself
              to maximum streaming_archiver_batch_size WAL segments per single run.  Integer.

              Scope: Global/Server/Model.

       streaming_archiver_name
              Identifier  to be used as application_name by the receive-wal command.  Only available with pg_re‐
              ceivewal (or pg_receivexlog >= 9.3).  By default it is set to barman_receive_wal.

              Scope: Global/Server/Model.

       streaming_backup_name
              Identifier to be used as application_name by the pg_basebackup command.  By default it is  set  to
              barman_streaming_backup.

              Scope: Global/Server/Model.

       streaming_conninfo
              Connection  string used by Barman to connect to the Postgres server via streaming replication pro‐
              tocol.  By default it is set to conninfo.

              Scope: Server/Model.

       streaming_wals_directory
              Directory where WAL files are streamed from the PostgreSQL server  to  Barman.   Requires  stream‐
              ing_archiver to be enabled.

              Scope: Server.

       tablespace_bandwidth_limit
              This option allows you to specify a maximum transfer rate in kilobytes per second, by specifying a
              comma  separated  list  of tablespaces (pairs TBNAME:BWLIMIT).  A value of zero specifies no limit
              (default).

              Scope: Global/Server/Model.

       wal_conninfo
              A connection string which, if set, will be used by Barman to connect to the Postgres  server  when
              checking  the  status  of the replication slot used for receiving WALs.  If left unset then Barman
              will use the connection string defined by wal_streaming_conninfo.   If  wal_conninfo  is  set  but
              wal_streaming_conninfo is unset then wal_conninfo will be ignored.

              Scope: Server/Model.

       wal_retention_policy
              Policy for retention of archive logs (WAL files).  Currently only "MAIN" is available.

              Scope: Global/Server/Model.

       wal_streaming_conninfo
              A  connection  string which, if set, will be used by Barman to connect to the Postgres server when
              receiving WAL segments via the streaming replication protocol.  If left unset then Barman will use
              the connection string defined by streaming_conninfo for receiving WAL segments.

              Scope: Server/Model.

       wals_directory
              Directory which contains WAL files.

              Scope: Server.

HOOK SCRIPTS

       The script definition is passed to a shell and can return any exit code.

       The shell environment will contain the following variables:

       BARMAN_CONFIGURATION
              configuration file used by barman

       BARMAN_ERROR
              error message, if any (only for the 'post' phase)

       BARMAN_PHASE
              'pre' or 'post'

       BARMAN_RETRY
              1 if it is a retry script (from 1.5.0), 0 if not

       BARMAN_SERVER
              name of the server

       Backup scripts specific variables:

       BARMAN_BACKUP_DIR
              backup destination directory

       BARMAN_BACKUP_ID
              ID of the backup

       BARMAN_PREVIOUS_ID
              ID of the previous backup (if present)

       BARMAN_NEXT_ID
              ID of the next backup (if present)

       BARMAN_STATUS
              status of the backup

       BARMAN_VERSION
              version of Barman

       Archive scripts specific variables:

       BARMAN_SEGMENT
              name of the WAL file

       BARMAN_FILE
              full path of the WAL file

       BARMAN_SIZE
              size of the WAL file

       BARMAN_TIMESTAMP
              WAL file timestamp

       BARMAN_COMPRESSION
              type of compression used for the WAL file

       Recovery scripts specific variables:

       BARMAN_DESTINATION_DIRECTORY
              the directory where the new instance is recovered

       BARMAN_TABLESPACES
              tablespace relocation map (JSON, if present)

       BARMAN_REMOTE_COMMAND
              secure shell command used by the recovery (if present)

       BARMAN_RECOVER_OPTIONS
              recovery additional options (JSON, if present)

       Only in case of retry hook scripts, the exit code of the script is checked by  Barman.   Output  of  hook
       scripts is simply written in the log file.

EXAMPLE

       Here is an example of configuration file:

              [barman]
              ; Main directory
              barman_home = /var/lib/barman

              ; System user
              barman_user = barman

              ; Log location
              log_file = /var/log/barman/barman.log

              ; Default compression level
              ;compression = gzip

              ; Incremental backup
              reuse_backup = link

              ; 'main' PostgreSQL Server configuration
              [main]
              ; Human readable description
              description =  "Main PostgreSQL Database"

              ; SSH options
              ssh_command = ssh postgres@pg

              ; PostgreSQL connection string
              conninfo = host=pg user=postgres

              ; PostgreSQL streaming connection string
              streaming_conninfo = host=pg user=postgres

              ; Minimum number of required backups (redundancy)
              minimum_redundancy = 1

              ; Retention policy (based on redundancy)
              retention_policy = REDUNDANCY 2

SEE ALSO

       barman (1).

AUTHORS

       Barman maintainers (in alphabetical order):

       • Abhijit Menon-Sen

       • Jane Threefoot

       • Michael Wallace

       Past contributors (in alphabetical order):

       • Anna Bellandi (QA/testing)

       • Britt Cole (documentation reviewer)

       • Carlo Ascani (developer)

       • Francesco Canovai (QA/testing)

       • Gabriele Bartolini (architect)

       • Gianni Ciolli (QA/testing)

       • Giulio Calacoci (developer)

       • Giuseppe Broccolo (developer)

       • Jonathan Battiato (QA/testing)

       • Leonardo Cecchi (developer)

       • Marco Nenciarini (project leader)

       • Niccolò Fei (QA/testing)

       • Rubens Souza (QA/testing)

       • Stefano Bianucci (developer)

RESOURCES

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

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

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

COPYING

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

       © Copyright EnterpriseDB UK Limited 2011-2023

AUTHORS

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

Barman User manuals                             January 24, 2024                                       BARMAN(5)