注:
- 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准备
- 添加发布节点
- 资源管理-发布节点
添加发布节点,选择运行容器位置
配置发布数据库配置信息【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 作者:周风磊