使用Bucardo搭建PG的双主

0    707    3

Tags:

👉 本文共约2045个字,系统预计阅读时间或需8分钟。

简介

OGG方式实现双主可以参考:

https://www.xmmup.com/shiyongogg-for-pgweifuwukuaisushuangxiangtongburdsshujukushuangzhu.html

https://www.xmmup.com/oggyongyupgshujukuzhijianshuangzhushishitongburds-for-pgyikeoggyuanchengbuhuohetoudi.html

Bucardo开源工具是一个perl语言编写的程序,其依赖PG数据库的plperl语言组件,进而严格依赖perl的版本(数据库服务器安装的perl大版本号必须和官方说明的perl版本严格一致,小版本号不限制)。

Bucardo是PostgreSQL数据库中实现双向同步的软件,可以实现PostgreSQL数据库的双master的方案,不过bucardo中的同步都是异步的,它是通过触发器记录变化,程序是perl写的。Bucardo可以实现postgresql的多主复制、主从同步,甚至可以以postgresql为源库,可以和oracle、mysql、mongodb等很多数据库进行数据异步同步。

而pg原生的流复制(stream replication)虽可以同步,但只能单向同步,而且备库只能是只读操作,而bucardo不支持DDL的同步。

Bucardo 是基于表复制的系统,通过触发器记录变化,同步的表必须有主键,不能同步DDL语句(truncate可以同步)。Bucardo 可以实现PostgreSQL数据库的双master/多master的方案。Bucardo的核心是一个Perl守护进程,它侦听通知请求并对其进行操作,方法是连接到远程数据库并来回复制数据。

守护进程需要的所有特定信息都存储在主bucardo数据库中,包括复制所涉及的所有数据库的列表以及如何到达这些数据库、要复制的所有表以及如何复制每个表。

运行Bucardo的第一步是向主Bucardo数据库添加两个或更多数据库。

完成此操作后,将添加关于要复制哪些表的信息以及表的任何分组。然后添加同步。

同步被称为复制操作,将一组特定的表从一台服务器复制到另一台服务器或一组服务器。

一旦设置好Bucardo,触发器就开始存储有关所有相关的表中哪些行被更改的信息。

对于多主机,过程是这样的:

1、对表进行更改并记录在bucardo_delta表中。

2、向主Bucardo守护进程发送通知,让它知道表已经更改。

3、守护进程通知控制器进行同步,然后返回侦听。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!
使用Bucardo搭建PG的双主后续精彩内容已被小麦苗无情隐藏,请输入验证码解锁本站所有文章!
验证码:
请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“DB宝”或者“www_xmmup_com”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦。
  • 18509239930
  • 个人微信

  • DB宝
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部