在业务中碰到了一个问题,情景如下
flinkcdc 监控Postgresql中一张大表,试试同步到hbase中,然后根据hbase的coprocessor同步到es中做一个二级索引
当表中进行新增的时候,发现是可以获取到全部字段的数据的
当表进行更新或者删除时,发现只能获取到设置为表中主键的值,其余的字段全部为默认值
执行该条语句就可以了 ALTER TABLE test REPLICA IDENTITY FULL;原理
当原数据表发生更新时,默认的逻辑复制流只包含历史记录的key,如果需要输出更新记录的历史记录的所有字段,需要在表级别修改参数: REPLICA IDENTITY 例: ALTER TABLE test2 REPLICA IDENTITY FULL; REPLICA IDENTITY有四个值可选择: DEFAULT - 更新和删除将包含primary key列的现前值 NOTHING - 更新和删除将不包含任何先前值 FULL - 更新和删除将包含所有列的先前值 INDEX index name - 更新和删除事件将包含名为index name的索引定义中包含的列的先前值。



