人大金仓 解决了金仓KingbaseFlysync(KFS) 源端KES V8无主键表不解析UPDATE和DELETE的问题

关键字

KingbaseFlysync,KFS,KES,V8,无主键,不解析,UPDATE,DELETE

问题描述

源端KES V8无主键表的INSERT操作能正常解析,但是不解析UPDATE和DELETE操作。

问题分析

出现上述问题有以下几个原因:

1.KES数据库不支持自动记录无主键表的oldTuple功能

a) KFS没有配置autoIdentify参数

b) 在对无主键表执行update/delete操作前没有将无主键表的复制标识符设置为完整模式(full)

2.KES数据库支持自动记录无主键表的oldTuple功能

a)没有把数据库参数log_supplement_replica_identity配置为auto

b)没有配置a)中的数据库参数,且KFS没有配置autoIdentify参数

c)没有配置a)中的数据库参数,且在对无主键表执行update/delete操作前没有将无主键表的复制标识符设置为完整模式(full)

解决方案

1.KES数据库不支持自动记录无主键表的oldTuple功能

a)在flysync.ini文件中添加autoIdentify参数

配置使用方法

property=replicator.extractor.dbms.autoIdentity=none

取值:

none:

保持原有的行为,如果无主键,提示告警,不解析UPDATE和DELETE

index:

如果有上无主键,但是有非空的唯一索引,就在非空的唯一索引上加附加日志

如果无主键有唯一索引,但索引没有非空约束,提示告警,不解析UPDATE和DELETE

如果无主键无唯一索引,但有非空约束,提示告警,不解析UPDATE和DELETE

full

如果有上无主键,但是有唯一索引,就在表上加唯一索引

如果无主键也无唯一索引,则为所有列加附加日志

b)若未配置a)中的KFS参数,则在update/delete操作前将无主键表的复制标识符设置为完整模式(full)

ALTER TABLE YourTableName REPLICA IDENTITY FULL;

2.KES数据库支持自动记录无主键表的oldTuple功能

a)将数据库参数log_supplement_replica_identity配置为auto,然后重启数据库使其生效

在kingbase.conf文件中,修改/添加参数log_supplement_replica_identity=auto

3.若未配置a)的参数,则按照“1. KES数据库不支持自动记录无主键表的oldTuple功能”中的方法进行处理

更多信息,参见https://help.kingbase.com.cn/v8/index.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值