Можно ли использовать запросы типа «EXPERIMENTAL CHANGEFEED FOR» (основной) через JDBC?
Можно ли использовать запросы типа CREATE CHANGEFEED FOR (корпоративные) через JDBC?
спасибо за ваш интерес к каналам изменений CockroachDB. Корпоративные каналы изменений должны нормально работать с JDBC или любым другим драйвером SQL: оператор CREATE CHANGEFEED
настраивает канал изменений для доставки данных в целевое хранилище Kafka или облачного хранилища и сразу же возвращает идентификатор задания, который можно использовать для мониторинга работоспособности канала изменений через SHOW JOBS
заявление или веб-интерфейс.
Базовые потоки изменений работают немного иначе, чем другие операторы SQL: когда вы выполняете оператор CHANGEFEED FOR
, CockroachDB бесконечно передает результаты обратно и никогда не возвращает результат, если что-то не пойдет не так или запрос не будет отменен. В настоящее время это потоковое поведение не реализовано так, как ожидает драйвер Postgres JDBC (см. #4035 и связанные PR незавершенного производства), поэтому использование результатов с использованием Курсоры Postgres JDBC не будет работать. Мы работаем над добавлением поддержки для этого.
Я вижу, что некоторые из упомянутых вами билетов были решены в таракане 19.2 - теперь возможно ли использовать основные потоки изменений через JDBC?