注:

  • zcbus-8.1-16-20240608.tar.gz版本支持逻辑slot模式,逻辑插件只支持mppdb_decoding
  • ddl不支持,因为gaussdb不支持EVENT TRIGGERS
  • 可通过调大pg_slot_fetch_record_once参数,加快分析速度,注意源端库系统资源消耗,设置超过262144(256k)解码性能无明显提升

逻辑slot模式

逻辑级别日志

wal_level = logical
#设置日志保留个数,设置太少了,日志量太大了日志自动删除后,容易读不到日志
wal_keep_segments = 10
#如果需要远程读日志,需要设置,至少为1,就接受1个读日志线程
max_wal_senders = 10

验证是否成功

select name,setting,category from pg_settings where name in ('wal_level','wal_keep_segments','max_wal_senders');

创建逻辑slot

SELECT * FROM pg_create_logical_replication_slot('zcbus_slot', 'mppdb_decoding');

开启表REPLICA IDENTITY参数

\c database_name;
ALTER TABLE schema_name.table_name REPLICA IDENTITY FULL;

生成修改表sql语句参考

SELECT 'ALTER TABLE '||nspname||'.'||relname||' REPLICA IDENTITY FULL;' FROM pg_class c,pg_namespace n where relnamespace = n.oid and c.relkind in ('r','p') and nspname='public';

用户创建及赋权

create user zcbus with password  '********';
grant connect on database 同步库名 to zcbus;
ALTER USER zcbus123 replication; #逻辑slot模式,需要replication role
grant select on all tables in schema 同步schema名 to zcbus;
grant usage on schema 同步schema名 to zcbus;

ZCBUS准备

  1. 添加发布节点
  • 资源管理-发布节点
      添加发布节点,选择运行容器位置
      配置发布数据库配置信息【OPENGAUSSDB】即可
序号 变量名 默认值 是否隐藏函数 描述
1 db_type OPENGAUSS 不隐藏 源数据库类型
2 db_name zcbus 不隐藏 数据库名称
3 host 127.0.0.1 不隐藏 数据库IP地址
4 port 5432 不隐藏 数据库端口号
5 user zcbus 不隐藏 数据库用户名
6 password zcbus 不隐藏 数据库密码
7 slot_name zcbus_slot 隐藏 是否添加槽位号,指定槽位号名字
文档更新时间: 2024-06-10 16:49   作者:周风磊