postgresql逻辑复制槽replication

it2023-05-04  74

系统表说明: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

 
最新回复(0)