postgresql逻辑复制槽replication_slot

  • Post author:
  • Post category:其他


系统表说明:

http://postgres.cn/docs/11/view-pg-replication-slots.html

————————————————————————–逻辑复制wal2json安装配置———————————————-

1.1、PostgreSQL安装WAL2JSON插件;

$ wget -c –ftp-user=ftp –ftp-password=ftp ftp://192.168.1.1/pub/installpkg/database/postgresql/wal2json-master.zip

$ unzip  wal2json-master.zip

$ chown -R postgres:postgres wal2json-master

$ cd wal2json-master

# Make sure your path includes the bin directory that contains the correct `pg_config`

$ PATH=/home/postgres/pgsql/bin:$PATH

$ USE_PGXS=1 make

$ USE_PGXS=1 make install

1.2 修改参数,然后重启数据库

$vi postgresql.conf

wal_level = logical

备注:详情请参考https://github.com/eulerto/wal2json

1.3、创建PostgreSQL逻辑复制槽;

select * from pg_create_logical_replication_slot(‘risk_logical_slot_81_72′,’wal2json’);

slot_name:逻辑复制槽名称

test_decoding:逻辑复制解码器,使用wal2json

备注:根据逻辑复制的原理,一个库原则上只需创建一个槽即可,切记请使用wal2json解码器

新建逻辑复制账号

create user riskdsc_logical login replication encrypted password ‘*******’;

创建复制槽

每个复制槽都有一个名字,名字可以包含小写字母、数字和下划线字符。

master设置几个参数

max_replication_slots = 10 –最大复制槽数,即pg_replication_slots条数不能超过10

hot_standby = on

wal_level = replica 或者 logical

hot_standby_feedback = on

max_wal_senders = 10

//复制槽视图
select * from pg_replication_slots;

//查看复制槽
select * from pg_stat_replication;

select * from pg_publication_tables;

//创建物理复制槽
SELECT * FROM pg_create_physical_replication_slot('test_slot');

//创建逻辑复制槽
select * from pg_create_logical_replication_slot('test_logical_slot_81_72','wal2json');

//删除复制槽
SELECT * FROM pg_drop_replication_slot('test_slot');

参考:

https://blog.csdn.net/ctypyb2002/article/details/81207837



版权声明:本文为jsbylibo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。