PostgreSQL是否支持类似MS SQLServer 2019的Peer to peer数据复制功能?
PostgreSQL 点对点数据复制问题解答
原生功能支持说明
PostgreSQL 官方原生版本不提供内置的点对点(Peer to Peer)数据复制能力,原生自带的流复制、逻辑复制均为单主多从架构,仅支持单节点写入、多节点只读同步,无法直接实现多节点对等写入、双向数据同步的P2P复制需求。
同类MS SQL Server 2019对等复制的可用实现方案
目前成熟的落地方案分为开源第三方扩展、商业发行版内置两类:
- 开源第三方扩展方案
BDR(Bi-Directional Replication):目前应用最广泛的PostgreSQL双向多主复制实现,功能对齐SQL Server 2019的对等复制能力,支持多节点对等写入、内置行级冲突检测与解决策略、DDL全局同步等核心特性pglogical:基于PostgreSQL逻辑复制框架的扩展工具,可自定义配置多节点双向同步规则,适合需要高度定制化的场景,需自行实现冲突处理逻辑Patroni:结合集群管理能力+自定义逻辑复制规则,可搭建轻量对等复制集群
- 商业发行版方案
多数主流PostgreSQL商业发行版都默认集成了开箱即用的对等多主复制功能,同时配套提供冲突监控、数据一致性校验等运维工具,适合生产环境高可用要求高的场景
注意:所有点对点多主复制方案落地前都需要提前规划冲突处理规则,比如主键重复、同一行数据多节点并发修改的处理策略,避免出现数据一致性问题。
内容的提问来源于stack exchange,提问作者Abhilash R
相关产品推荐
相关产品推荐

