8

I am trying to configure Barman to backup. When I do a barman check replica I keep getting:

Server replica:
WAL archive: FAILED (please make sure WAL shipping is setup)
PostgreSQL: OK
superuser: OK
wal_level: OK
directories: OK
retention policy settings: OK
backup maximum age: FAILED (interval provided: 1 day, latest backup age: No available backups)
compression settings: OK
failed backups: OK (there are 0 failed backups)
minimum redundancy requirements: FAILED (have 0 backups, expected at least 2)
ssh: OK (PostgreSQL server)
not in recovery: FAILED (cannot perform exclusive backup on a standby)
archive_mode: OK
archive_command: OK
continuous archiving: OK
archiver errors: OK

I am using Postgresql 9.6 and barman 2.1; I am not sure as to what the issue is could someone help? Here is my Barman server configuration:

description = "Database backup"
conninfo = host=<db-ip> user=postgres dbname=db
backup_method = rsync
ssh_command = ssh postgres@<db-ip>
archiver = on
Deepak Puthraya
  • 183
  • 1
  • 1
  • 5

3 Answers3

19

When running into an error like this, be sure to run barman switch-xlog --force --archive <server_name> as noted in the barman documentation to verify the WAL archiving process.

Kassandry
  • 3,719
  • 2
  • 18
  • 30
2

in brief

Barman's incoming_wals_directory and Postgresql.conf's archive_command not matched as described in details here

details

Another cause is that the not matched between

  • Barman's incoming_wals_directory
  • Postgresql.conf's archive_command

Bash util to check

barman@backup $ barman show-server pg | grep incoming_wals_directory
# output1
# > incoming_wals_directory: /var/lib/barman/pg/incoming

postgres@pg $ cat /etc/postgresql/10/main/postgresql.conf | grep archive_command
# output2
# > archive_command = 'rsync -a  %p  barman@staging:/var/lib/barman/pg/incoming/%f' 

We must have same path in :output1 and :output2

Make them matched if they don't and don't forget to restart postgres afterward.

Nam G VU
  • 289
  • 1
  • 3
  • 14
1

Use barman switch-wal SERVER --force --archive --archive-timeout 30.

For streaming archiving, you should also manually execute barman cron to bring up receive-wal. Otherwise, you need to wait at least 1 min for the cron to take effect automatically, while the switch-wal command waits only for 30 seconds by default, and then fails.

silencej
  • 111
  • 3