PostgreSQL复制槽位创建中的一个棘手Bug及修复

2025-07-15
PostgreSQL复制槽位创建中的一个棘手Bug及修复

ClickPipes团队在使用PostgreSQL的逻辑复制槽位创建时遇到一个奇怪的bug:一个本来只需几秒钟的查询却耗时数小时,且无法终止。经过调查,发现这是PostgreSQL自身的一个bug,该bug在读副本上创建逻辑复制槽位时,由于等待主库事务完成而陷入长时间的休眠循环,导致无法中断。团队提交了一个补丁到PostgreSQL社区,该补丁添加了中断检查,有效解决了这个问题。此案例说明即使是成熟的数据库系统,也可能存在一些意想不到的边缘情况,开源社区的协作对于解决这些问题至关重要。

开发 逻辑复制