.. _diagnose-and-troubleshooting: Diagnose and troubleshooting ============================ One of the features that tools require is the ability to troubleshoot problems in an efficient way. Barman provides multiple ways to diagnose and troubleshoot problems. Usually problems arise from errors or warning messages returned by :ref:`barman check `, but they may come up from other sources as well. Barman status ------------- You can check the status of a specific Postgres server using the :ref:`barman status ` command. This command provides a detailed view of the status of the server, such as the PostgreSQL version, the current data size, the PostgreSQL data directory, the current WAL, the archive command, the last archived WAL, the number of available backups, and more: .. code:: bash $ barman status pg16 Server pg16: Description: PostgreSQL 16 Database (via SSH) Active: True Disabled: False PostgreSQL version: 16.4 Cluster state: in production Current data size: 31.9 MiB PostgreSQL Data directory: /var/lib/pgsql/16/data Current WAL segment: 000000010000003B00000010 PostgreSQL 'archive_command' setting: barman-wal-archive barman_server pg16 %p Last archived WAL: 000000010000003B0000000F, at Mon Nov 18 07:54:54 2024 Failures of WAL archiver: 0 Passive node: False Retention policies: not enforced No. of available backups: 2 First available backup: 20240911T085206 Last available backup: 20240911T085736 Minimum redundancy requirements: satisfied (2/0) This is a good tool to collaborate that the server's configuration aligns with the configuration of the barman server. Barman show servers ------------------- You can use the :ref:`barman show-servers ` command to list all the configuration options and values for a specific Postgres server configured for backups. .. code:: bash $ barman show-servers pg16 Server local16: active: True archive_command: barman-wal-archive barman-server pg16 %p archive_mode: on archive_timeout: 0 archived_count: 1 ... Barman replication status ------------------------- You can do a quick check of the replication status for a specific Postgres server by using the :ref:`barman replication-status ` command. This command provides a detailed view of the status of the replication. .. code:: bash $ barman replication-status pg16 Status of streaming clients for server 'pg16': Current LSN on master: 3B/10000148 Number of streaming clients: 1 1. Async WAL streamer Application name: barman_receive_wal Sync stage : 3/3 Remote write Communication : Unix domain socket User name : barman Current state : streaming (async) Replication slot: standby WAL sender PID : 165959 Started at : 2024-11-18 07:49:01.837787+00:00 Sent LSN : 3B/10000148 (diff: 0 B) Write LSN : 3B/10000148 (diff: 0 B) Flush LSN : 3B/10000000 (diff: -328 B) Barman diagnose --------------- The :ref:`barman diagnose ` command gathers important information about the status of all the configured servers. It's an overall view of the configured Postgres servers that are being backed up by Barman. .. code:: bash barman diagnose The ``diagnose`` command output is a full snapshot of the barman server, providing useful information, such as global configuration, SSH version, Python version, ``rsync`` version, PostgreSQL clients version, as well as current configuration and status of all servers. The ``diagnose`` command is extremely useful for troubleshooting problems, as it gives a global view on the status of your Barman installation.