pglogical2.0逻辑备份

  

注意:

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改过来,各种错误,报错很多,用的人也少暂时不考虑了

pglogical2.0逻辑备份