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
复制
解决方式
- 确认datanode0的archive_mode已经设置为打开 on
登录adbmgr或datanode节点 show datanode0 archive_mode; type | status | message ---------------------------+--------+------------------- datanode master datanode0 | t | archive_mode = on
复制
- 确认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版本不一样,可识别的配置项不同)
复制
- 手工执行一次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
复制
解决方式**
- 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
- 确保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字符集的中文
解决方式
- 修改导入文件编码为UTF8
- 指定字符集 \copy t1 from ‘t1.csv’ with csv encoding ‘GBK’
最后修改时间:2023-02-28 10:53:18
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。