pgcat 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
pgcat 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: Apache
开发语言: Google Go SHELL
操作系统: 跨平台
收录时间: 2019-10-03
提 交 者: kingluo

Why pgcat?

PostgreSQL 内置的逻辑复制有如下缺陷:

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

pgcat 做了如下增强:

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

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

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

pgcat 的相关博客

还没有任何博客,写博客

pgcat 的相关问答

还没有任何问答,马上提问

评论 (0)

加载中
更多评论
0 评论
4 收藏
分享
返回顶部
顶部