Поддерживает ли debezium захват события изменения схемы postgres?

Поддерживает ли debezium захват изменений схемы postgres, таких как «изменить таблицу xxx, добавить / удалить / изменить столбец xxx»?


person Casel Chen    schedule 14.12.2019    source источник
comment
postgresql.org/docs/current/event-triggers.html   -  person a_horse_with_no_name    schedule 14.12.2019


Ответы (1)


Кажется, что это старый вопрос, но в любом случае короткий ответ - да. ознакомьтесь с документацией здесь https://debezium.io/documentation/reference/connectors/postgresql.html. За некоторыми исключениями:

Коннектор PostgreSQL получает информацию о схеме как часть событий, отправляемых подключаемым модулем логического декодирования. Однако соединитель не получает информацию о том, какие столбцы составляют первичный ключ. Коннектор получает эту информацию из метаданных JDBC (побочный канал). Если определение первичного ключа таблицы изменяется (путем добавления, удаления или переименования столбцов первичного ключа), существует небольшой промежуток времени, когда информация первичного ключа из JDBC не синхронизируется с событием изменения, которое генерирует плагин логического декодирования. . В течение этого крошечного периода может быть создано сообщение с непоследовательной ключевой структурой. Чтобы предотвратить эту несогласованность, обновите структуры первичного ключа следующим образом:

Переведите базу данных или приложение в режим только для чтения.
Пусть Debezium обработает все оставшиеся события. Остановите Debezium.
Обновите определение первичного ключа в соответствующей таблице.
Переведите базу данных или приложение в режим чтения / записи.
Перезапустите Debezium.

person liorsolomon    schedule 28.09.2020