温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

pglogical2.0逻辑备份

发布时间:2020-07-18 10:16:54 来源:网络 阅读:4035 作者:lly0205 栏目:数据库

注意:

1、9.5以上版本才支持

2、编译安装参考https://www.2ndquadrant.com/en/resources/pglogical/pglogical-installation-instructions/

3、如何使用参考https://www.2ndquadrant.com/en/resources/pglogical/pglogical-docs/,

中文参考https://my.oschina.net/innovation/blog/748227

4、本教程支持pg自身的流复制主备模式,pglogical是hotstanby的流复制高级模式

5、订阅服务器版本要和提供者版本一样,且都要安装pglogical


一、安装pglogical

由于我们pg都是源码安装,那么pglogical也是源码安装

去官网https://www.2ndquadrant.com下载源码包,比较难找,慢慢找

安装需要pg_config,由于我们pg安装完环境变量是配置在postgres用户根目录下的.bash_profile里面,在root用户下需要source /home/postgres/.bash_profile加载下环境变量

解压后执行

make USE_PGXS=1

make USE_PGXS=1 install

二、配置pglogical

1、PG配置

如果是主备模式,两个都得修改,记得重启服务

wal_level = 'logical'
max_worker_processes = 10   # one per database needed on provider node
                            # one per node needed on subscriber node
max_replication_slots = 10  # one per node needed on provider node
max_wal_senders = 10        # one per node needed on provider node
shared_preload_libraries = 'pglogical'
track_commit_timestamp = on # needed for last/first update wins conflict resolution
                            # property available in PostgreSQL 9.5+

2、配置逻辑复制

提供者执行以下命令,当然首先要确认数据库和用户,命令\c dbname user


CREATE EXTENSION pglogical;
SELECT pglogical.create_node('provider1','host=192.168.180.222 port=5433 dbname=elink');
SELECT pglogical.replication_set_add_table('default','company','true',NULL,NULL);
#default是复制表的所有操作,company是表名

订阅者执行以下命令

select pglogical.create_node('sub_node_1','host=192.168.180.222 port=5433 dbname=elink');
select pglogical.create_subscription('sub1','host=192.168.180.222 port=5433 dbname=elink user=elink password=elink');

三、评估结果

刚刚从bdr改过来,各种BUG、报错很多,用的人也少暂时不考虑了

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI