关键字:
KingbaseFlySync、KFS、同步程序、replicator、禁用会话级触发器
1.功能描述
禁用会话级触发器参数主要通过禁止KFS插入的数据(搬迁、同步、比对修复)触发目标端触发器,而不是通过关掉目标端的所有触发器来禁止触发目标端触发器。同时,该参数为全局参数,但是仅对目标端生效。
2.使用场景介绍
用于不能直接关掉目标端所有触发器的情况下。
3.配置使用方式及触发器禁用原理介绍
(1)配置使用方法
在目标端flysync.ini文件中添加以下参数:
property=replicator.session.enable.trigger=false
其中,false表示禁止通过KFS插入的数据触发目标端触发器,反之则为true
注:该参数只适用于目标端(slave)。
(2)触发器禁用原理
对于KES,触发器禁用原理如下:
① 首先,获取某个模式下带有触发器的表名,具体sql语句如下:
SELECT DISTINCT c.relname AS tablename FROM sys_class c
JOIN sys_trigger tg ON c.oid = tg.tgrelid
LEFT JOIN sys_description des ON tg.oid = des.objoid
JOIN sys_namespace n ON n.oid = c.relnamespace
FULL JOIN sys_proc pr ON tg.tgfoid = pr.oid
WHERE (
des.objoid IS NULL OR des.classoid = (
(
SELECT sys_class.oid
FROM sys_class
WHE