GreatSQL社区

搜索

reddey

关于安装bucardo软件的一些注意事项

reddey 已有 14 次阅读2025-6-29 20:27 |系统分类:运维实战


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

由于Bucardo是基于Perl程序开发的,所以在安装之前的需要提前安装好各种PERL各种模块,同时要提前安装部署好PG数据库。

我的操作系统是CENTOS7 ,数据库版本是PG12,下载相应的Bucardo安装包,然后进行解压。

postgres@pg01 ~]$ unzip bucardo-master.zip

bucardo             bucardo.restart.reason.log  home      packages.zip            soft

bucardo-master      bucardo.restart.reason.txt  logfile   postgresql-12.1

bucardo-master.zip  data                        packages  postgresql-12.1.tar.gz

进入解压目录,内容如下所示。

[postgres@pg01 ~]$ cd bucardo-master

[postgres@pg01 bucardo-master]$ ls

blib          Bucardo.pm.html  dist      Makefile.PL    MYMETA.json  README      t

bucardo       bucardo.schema   INSTALL   MANIFEST       MYMETA.yml   README.dev  TODO

bucardo.html  Changes          LICENSE   MANIFEST.SKIP  patches      scripts     UPGRADE

Bucardo.pm    dev              Makefile  META.yml       pm_to_blib   SIGNATURE

执行perl命令进行安装,如下所示。

postgres@pg01 bucardo-master]$ perl Makefile.PL

Warning: prerequisite CGI 0 not found.

Warning: prerequisite Pod::Parser 0 not found.

Generating a Unix-style Makefile

Writing Makefile for Bucardo

Writing MYMETA.yml and MYMETA.json

从上面的输出信息看,有些先决条件没安装,用yum search进行单独查询,一个一个安装依赖就行了。

然后进行make,信息如下所示。

[postgres@pg01 bucardo-master]$ make

Skip blib/lib/Bucardo.pm (unchanged)

cp bucardo blib/script/bucardo

"/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/bucardo

Manifying 1 pod document

Manifying 1 pod document

最后进行sudo make install

[postgres@pg01 bucardo-master]$ sudo make install

[sudo] postgres 的密码:

Manifying 1 pod document

Manifying 1 pod document

Installing /usr/local/share/bucardo/bucardo.schema

Appending installation info to /usr/lib64/perl5/perllocal.pod

上面的提示信息中,录入操作系统postgres 的密码。

查看bucardo命令版本,如下所示:

[postgres@pg01 bucardo-master]$ bucardo -version

bucardo version 5.5.0

如果执行命令,有如下的报错信息,说明还是缺少了安装依赖,进行安装就行,命令如下所示。

Can't locate Data/Dumper.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ./scripts/mysql_install_db line 42.

yum install 'perl(Data::Dumper)' -y

总结:从编译安装的过程看,安装过程和其它以前编译安装三板斧很像,不过这是PERL语言的安装。在安装过程中,如果发现缺乏了安装依赖,及时进行YUM安装依赖即可。


评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2025-6-30 23:22 , Processed in 0.015143 second(s), 9 queries , Redis On.
返回顶部