postgresql - 如何从主服务器管理 postgreSQL 9.6 缺少的 WAL 段?
问题描述
一个有postgresql 9.6的PITR配置,有一个主服务器,一个中间服务器,和两个从服务器,热备但手动切换,例如:
Master
|
I1
/ \
S1 S2
写入磁盘失败导致主服务器崩溃。开发团队中的一个伙伴纠正了错误,然后重新启动了master数据库(而不是提升中间服务器,这是建立的程序)。因此,序列中缺少损坏的部分 WAL 和整个 WAL。
现在,我没有丢失任何事务,但从属服务器 1 以及中间服务器抱怨缺少 wal,(错误:请求的 WAL 段 [...] 已被删除)即使它们仍在更新;s2 也抱怨(与上面相同,但前面是(致命:无法从 WAL 流接收数据:),并且它没有更新。
由于主服务器宕机时发生的事务已经 - 已经 - 被执行,我不在乎丢失的 wals。所以正确的问题是:
1)如何摆脱对失踪沃尔的唠叨?我已经尝试过 pg_resetxlog -l(下一个有效的 WAL 文件)-f(不再抱怨,但没有更新)和 pg_basebackup,毫不奇怪,在第二次测试中,它返回到上述情况。
2) 为什么其中一个从属设备更新(意外)而另一个不更新(预期)?我首先想到的可能是更新的slave直接连接到master,但事实并非如此;我检查了配置文件,它们在两个从站中都是相同的。
感谢您的关注
解决方案
推荐阅读
- xamarin.forms - 我可以在 GestureRecognize 上删除和添加命令吗?
- css - Bootstrap 4中连续8列
- url - 如何编辑 .mp4 文件的 URL 以使其在浏览器中流式传输?
- java - 从 Spring 3.1.9 迁移到 Spring 4.2.4 时,@Autowired 不起作用。但适用于 Spring 3 和 Java7
- matplotlib - 并排定义单个子图的大小
- mysql - 在 MySQL 表中强制使用 2 位小数位格式
- aframe - 如何禁用设备方向权限对话框和进入 VR 按钮
- github - 如何使用代码管道将 sql 文件从 Github 存储库复制到 s3 存储桶
- image - 如何在颤动中使用 BoxFit.contain 圆角图像
- sql - 选择 Max(value) 的列