1.Base基础/3.Icon图标/操作/search备份
1.Base基础/3.Icon图标/操作/search备份
EN
文档
AntDB简介
快速入门
用户手册
数据安全
系统架构
最佳实践
  • 文档首页 /
  • 参考指南 /
  • 常见问题FAQ /
  • 数据备份

数据备份

更新时间:2024-04-25 05:30:23

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

执行barman check命令时,返回上述报错信息

barman -c /aifs01/users/antdb/barman/conf/datanode0.conf check datanode0

下面给出一个完整的配置文件示例:

more datanode0.conf 

[barman]
barman_user = antdb
#configuration_files_directory = /aifs01/users/antdb/barman/conf/
barman_home = /aifs01/users/antdb/barman/data/
log_file = /aifs01/users/antdb/barman/log/barman.log
compression = gzip
parallel_jobs =3
minimum_redundancy = 0
retention_policy = RECOVERY WINDOW OF 1 WEEKS
reuse_backup = off

[datanode0]
description = "datanode master datanode0"
ssh_command = ssh antdb@10.1.242.25 -p 22022 -q
conninfo = host=10.1.242.25 port=14332 user=antdb dbname=tstadb
backup_method = rsync
reuse_backup = link
backup_options = exclusive_backup
parallel_jobs = 3
archiver = on
archiver_batch_size = 50

解决方式

  1. 确认datanode0的archive_mode已经设置为打开 on
登录adbmgr或datanode节点
show datanode0 archive_mode;
           type            | status |      message      
---------------------------+--------+-------------------
 datanode master datanode0 | t      | archive_mode = on
  1. 确认datanode0的archive_command设置是否正确?手工执行不报ssh连接错误。
很多现场会修改ssh的默认端口,比如改成22022。则建议按下述步骤调整归档命令

set datanode master datanode0 (archive_command = 'rsync --address=10.1.242.27 --port=22022 -a %p antdb@10.1.242.27:/aifs01/users/antdb/barman/data/datanode0/incoming/%f');

如果上述的port命令不生效,还是连接的默认22端口,手工执行时,还是报连接拒绝,则使用 下面的命令设置归档
set datanode master datanode0 (archive_command = 'rsync -e "ssh -p 22022" --address=10.1.242.27 --port=22022 -a %p antdb@10.1.242.27:/aifs01/users/antdb/barman/data/datanode0/incoming/%f');
(各现场ssh版本不一样,可识别的配置项不同)

  1. 手工执行一次wal日志切换操作
barman -c /data/antdb/barman/etc/barman.conf switch-xlog --force --archive antdb117

原因说明

要么没有打开归档模式,要么归档命令设置或执行失败。 请按上述步骤依次排查。


minimum redundancy requirements: FAILED (have 0 backups, expected at least 1)

执行barman check命令时,返回上述报错信息

barman -c /aifs01/users/antdb/barman/conf/datanode0.conf check datanode0

解决方式**

datanode0.conf的minimum_redundancy修改为0

minimum_redundancy = 0

原因说明


ssh output clean: FAILED (the configured ssh_command must not add anything to the remote command output)

执行barman check命令时,返回上述报错信息

barman -c /aifs01/users/antdb/barman/conf/datanode0.conf check datanode0

解决方式**

  1. datanode0.conf 的 ssh_command 命令,在最后添加 -q 选项,不产生任何输出信息.
ssh_command = ssh antdb@10.1.242.25 -p 22022 -q

详细的原因说明,请参考: The test that Barman does is to execute 'true' using the ssh_command and checking that the output is empty.

In your case, please check that the following command doesn't produce any output.

链接:https://groups.google.com/forum/#!topic/pgbarman/1xjUU4mnrfI

  1. 确保archive_command和barman配置文件中几个变量值的对应关系
----------archive_command命令示例:
archive_command = 'rsync --address=10.1.242.27 --port=22022 -a %p antdb@10.1.242.27:/aifs01/users/antdb/barman/data/datanode0/incoming/%f'

---------datanode0.conf配置示例:

[barman]
barman_home = /aifs01/users/antdb/barman/data/

[datanode0]

--------两者对应关系:
archive_command命令中的
/aifs01/users/antdb/barman/data/datanode0
必须等于
datanode0.conf配置文件中的 barman_home的配置值 + [datanode0]的配置值
/aifs01/users/antdb/barman/data/datanode0
即:
barman_home的配置值 + [datanode0]的配置值 + 'incoming/%f'固定字符串

原因说明

centos7.2以后,某些ssh场景下需要静默返回输出,即ssh命令添加了 -q 静默选项,否则就报标题所示的错误。


ERROR: invalid byte sequence for encoding "UTF8":

场景:使用copy命令导入数据 例如

\copy t1 from 't1.csv' with csv

原因说明

导入的文件中含非UTF8字符集的内容,通常为GBK字符集的中文

解决方式

  1. 修改导入文件编码为UTF8
  2. 指定字符集 \copy t1 from 't1.csv' with csv encoding 'GBK'
问题反馈