pgcat 发布,增强的 postgresql 逻辑复制软件

kingluo
 kingluo
发布于 2019年10月03日
收藏 13

因为 postgresql 内置的逻辑复制有如下缺陷:

  • 只支持普通表作为复制目标
  • 不能过滤复制数据,使得两个机房之间互相复制时发生死循环
  • 不支持表名映射
  • 没有冲突解决机制

pgcat 做了如下增强:

  • 支持所有表类型,包括 view、fdw、分区表、citus 的分布式表等等
  • 只复制本地产生的数据变更,使得可以机房之间安全复制
  • 表名映射,可以将多个源表映射到一个目标表
  • 可选的 last-writer-win(类似 Cassandra)冲突解决机制(通过 trigger 来实现)
  • 复制进度保存到单独的表,使得进度可以failover

pgcat 重用了 postgresql 内置的 pgoutput ouput plugin 和 publication,使用 golang 重写了 subscription 部分,以单独的进程来运行。

 

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:pgcat 发布,增强的 postgresql 逻辑复制软件
加载中
返回顶部
顶部