WAL archive: FAILED (please make sure WAL shipping is setup)

為{幸葍}努か 提交于 2019-12-08 04:03:28

问题


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

回答1:


barman check tries to confirm that archiving is set up correctly by asserting that there's actually something in the archive. However, WAL segments are generally only archived once they're filled up, and if your server is idle, this is never going to happen.

To work around this, Barman provides a command to force a segment switch, wait for the completed WAL to show up, and then archive it immediately:

barman switch-xlog --force --archive replica



回答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.



来源:https://stackoverflow.com/questions/42595792/wal-archive-failed-please-make-sure-wal-shipping-is-setup

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!