注意:
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里面,在根用户下需要/home/postgres/.来源bash_profile加载下环境变量
解压后执行
让USE_PGXS=1
让USE_PGXS=1安装
二,配置pglogical
1, PG配置
如果是主备模式,两个都得修改,记得重启服务
wal_level =,“逻辑” 10 max_worker_processes =,,,, #, one per database needed 提醒provider 节点 ,,,,,,,,,,,,,,,,,,,,,,,,,,,#,one per node needed 提醒subscriber 节点 10 max_replication_slots =,,, #, one per node needed 提醒provider 节点 10 max_wal_senders =,,,,,,,,, #, one per node needed 提醒provider 节点=shared_preload_libraries “pglogical”
track_commit_timestamp =,提醒#,needed for 最后/first update wins conflict 决议 ,,,,,,,,,,,,,,,,,,,,,,,,,,,#,property available 拷贝PostgreSQL 9.5 +
2,配置逻辑复制
提供者执行以下命令,当然首先要确认数据库和用户,命令\ c dbname用户
CREATE EXTENSION pglogical; SELECT pglogical.create_node (“provider1”、“主机=192.168.180.222 端口=5433,dbname=elink '); SELECT pglogical.replication_set_add_table(“违约”,“公司”,“真正的”,空,空); #默认是复制表的所有操作,公司是表名
订阅者执行以下命令
select pglogical.create_node (“sub_node_1”、“主机=192.168.180.222 端口=5433,dbname=elink '); select pglogical.create_subscription (“sub1”、“主机=192.168.180.222 端口=5433,dbname=elink 用户=elink 密码=elink ');
三、评估结果
刚刚从bdr改过来,各种错误,报错很多,用的人也少暂时不考虑了