Wal*_*rs 6 database postgresql postgresql.conf
问题!!设置逻辑复制并且一切运行顺利后,我想深入研究日志以确认那里没有错误。但是当我tail -f postgresql.log,我发现以下错误不断重复出现错误:无法启动WAL流:错误:复制槽“子”对于PID 124898是活动的
解决方案!!这是一个简单的解决方案...我进入了 postgresql.conf 文件并wal_sender_timeout在主服务器和wal_receiver_timeout从服务器上进行了搜索。我看到两者的值均为120 秒,我必须将两者更改为300 秒,相当于 5 分钟。然后记住重新加载两台服务器,因为您不需要重新启动。然后等待大约 5 到 10 分钟,错误就会修复。
我们的日志中出现了相同的错误消息,并尝试了此修复,但不幸的是我们的情况更加糟糕。将注释放在这里只是为了下一个可怜的灵魂,但在我们的例子中,发布实例是 AWS 管理的 RDS 服务器,它管理(哈哈)创建了这样一个 WAL 积压,使其进入追赶状态,处理 WAL 并运行在追上之前内存不足(每次都被操作系统杀死)。客户端的体验正是您在这里看到的 - 超时和失败的 WAL 流。该修复有点令人讨厌 - 我们必须删除整个复制链接并重建它(幸运的是,它是一个测试数据库,所以不会造成伤害,但这是您想要避免的情况)。在发布者端查看日志后,这一点很明显,但从订阅端来看则更加神秘。
| 归档时间: |
|
| 查看次数: |
7428 次 |
| 最近记录: |