pglogical2.0逻辑备份

注意:node

一、9.5以上版本才支持数据库

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

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

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

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

五、订阅服务器版本要和提供者版本同样,且都要安装pglogicalspa


1、安装pglogical.net

因为咱们pg都是源码安装,那么pglogical也是源码安装orm

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

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

解压后执行

make USE_PGXS=1

make USE_PGXS=1 install

2、配置pglogical

一、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+

二、配置逻辑复制

提供者执行如下命令,固然首先要确认数据库和用户,命令\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');

3、评估结果

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

相关文章
相关标签/搜索