оракла в постгрес
есть проблема с клобами: если изменить в строке значения не клоба, а любого другого атрибута, то как я понимаю в редо логи оракла значение клоба не пишется, и поэтому дебезиум подставляет __debezium_unavailable_value и это дело потом синком несется в таргет базу.
собственно как можно решить это дело? кроме триггера на таргете :)
гугл показывает обходной вариант с логирование для постгреса
https://debezium.io/blog/2019/10/08/handling-unchanged-postgres-toast-values/
но он для постгреса и выглядит дорогим в смысле нагрузки на базу.
привет! есть вот такая настройка: https://debezium.io/documentation/reference/2.1/connectors/oracle.html#oracle-property-lob-enabled
у меня она включена то есть просто загрузка новой строки с лобом работает не работает изменение атрибута, который не лоб. Дебез для лоба тогда ставит дефолтное значение __debezium_unavailable_value, вместо того чтобы просто не трогать его
ого, блен, а вот такого у меня не было( тут помочь не могу, сорри(
А чем вы читаете дебезиум лог и почему там не поменять логику? Вроде выглядит не очень сложно
не поняла вопрос оракл читаю логмайнером через дебезиум, он складывает в топики сообщения с изменением строк. И уже в этих сообщениях появляется __debezium_unavailable_value. потом kafka jdbc sink коннектор грузит изменения в постгрес. в сообщениях уже стоит __debezium_unavailable_value, поэтому в постгрес он их и грузит.
Ответом на вопрос является kafka jdbc sink connector) понятно) просто я сам писал синк и там несложно заложить какую хочешь логику, на входе же простой жсон/авро) Наверное стоит копать в сторону коннектора)
Обсуждают сегодня