程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Postgresql 12 流复制:恢复的副本但仍然无法正常工作大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决POSTGResql 12 流复制:恢复的副本但仍然无法正常工作?

开发过程中遇到postgresql 12 流复制:恢复的副本但仍然无法正常工作的问题如何解决?下面主要结合日常开发的经验,给出你关于POSTGResql 12 流复制:恢复的副本但仍然无法正常工作的解决方法建议,希望对你解决POSTGResql 12 流复制:恢复的副本但仍然无法正常工作有所启发或帮助;

在我更改 POSTGResql 配置后,主服务器和辅助服务器开始显示“请求的 WAL 段已被删除”错误。 因此,我决定使用以下步骤从主服务器恢复备份:@H_607_3@

  • 关闭副本服务器。
  • 已删除副本 (/var/lib/POSTGResql/12/main) 上的 POSTGResql 数据目录
  • 执行基本备份 (sudo -u POSTGRes pg_baseBACkup -h [PRIMary_IP] -D /var/lib/POSTGResql/12/main -U Replication -P -v -R) 并成功完成。
  • 再次开始复制。

但是上面提到的错误仍然显示。@H_607_3@

主从配置:@H_607_3@

wal_level = 'replica'
archive_mode = on
archive_command = 'cd .'
max_wal_senders = 48
wal_keep_segments = 50
hot_standby = on

当我运行 pg_baseBACkup .. 命令时,我得到了这个日志:@H_607_3@

pg_baseBACkup: checkpoint completed
pg_baseBACkup: write-ahead log start point: 188/92000148 on timeline 1
pg_baseBACkup: starTing BACkground WAL receiver

我很好奇为什么它说的是 188,而不是 0。@H_607_3@

解决方法

您需要一个复制槽来防止主服务器删除备用服务器仍然需要的 WAL。@H_607_3@

  • 在主节点上使用 pg_create_logical_Replication_slot 创建复制槽。@H_607_3@

  • 使用带有 -Spg_baseBACkup 选项的复制槽。@H_607_3@

  • 确保在备用配置中设置了 priMary_slot_namepg_baseBACkup-R 选项会自动执行此操作。@H_607_3@

大佬总结

以上是大佬教程为你收集整理的Postgresql 12 流复制:恢复的副本但仍然无法正常工作全部内容,希望文章能够帮你解决Postgresql 12 流复制:恢复的副本但仍然无法正常工作所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。