4

问题!!在设置了我的逻辑复制并且一切运行顺利之后,我只想深入了解日志以确认那里没有错误。但是当我tail -f postgresql.log,我发现以下错误不断重复出现错误:无法启动 WAL 流:错误:复制槽“子”对于 PID 124898 是活动的

解决方案!!这是简单的解决方案...我进入我的 postgresql.conf 文件并wal_sender_timeout在主服务器和wal_receiver_timeout从服务器上进行搜索。我在那里看到的值都是120 秒,我不得不将两者都更改为300 秒,这相当于 5 分钟。然后记住重新加载两个服务器,因为您不需要重新启动。然后等待大约 5 到 10 分钟,错误就修复了。

4

1 回答 1

0

我们的日志中有一条相同的错误消息并尝试了此修复程序,不幸的是我们的案例更加可怕。把笔记放在这里只是为了下一个可怜的灵魂,但在我们的例子中,发布实例是一个 AWS 托管的 RDS 服务器,它管理(哈哈)创建这样一个 WAL 积压,它正在进入追赶状态,处理 WAL 并运行在赶上之前内存不足(每次都被操作系统杀死)。客户端的体验正是您在此处看到的 - 超时和失败的 WAL 流。修复有点讨厌 - 我们不得不删除整个复制链接并重建它(幸运的是它是一个测试数据库,所以没有造成伤害,但这是你想要避免的情况)。在发布者端查看日志后很明显,但从订阅端看更神秘。

于 2022-02-03T02:46:00.207 回答