EDB 很高兴地宣布推出 PG 故障转移槽 (pg_failover_slots)。此数据库扩展以开源软件的形式在 PostgreSQL 许可证下发布,适用于任何在其 PostgreSQL 数据库上拥有逻辑复制发布(publication)且这些数据库也是流复制架构一部分的用户。
当逻辑复制发布服务器是物理流复制架构的一部分,并且一个新的备用服务器被提升为主服务器时,PG 故障转移槽避免了逻辑复制订阅服务器需要重新播种其逻辑复制表的需求。
由于逻辑复制使用的复制槽仅在主节点上维护,在新的主服务器被提升之前,下游订阅服务器将不会收到任何新的更改。从新提升的备用服务器恢复逻辑复制更改是不安全的,因为包含订阅服务器已确认接收数据以及仍需为订阅服务器保留的日志数据的相关信息将会丢失,从而导致数据出现未知的缺口。PG 故障转移槽通过初始版本中的以下功能,使得复制槽在物理故障转移后仍可使用:* 将主服务器上任何缺失的复制槽复制到备用服务器* 移除备用服务器上未在主服务器上找到的任何槽* 根据主服务器定期同步备用服务器上槽的位置* 确保选定的备用服务器在任何逻辑槽 walsender 将数据发送给消费者之前收到数据