#postgresql #apache-calcite
#postgresql #apache-calcite
Вопрос:
Я хочу настроить postgres в качестве источника данных для calcite и использовать возможности calcite для перезаписи запросов с использованием материализованных представлений. Однако, когда я пытаюсь создать материализованное представление через calcite, я получаю сообщение postgres об ошибке insert into relation, которая не существует.
При дальнейшей проверке кажется, что calcite никогда не создает материализованное представление, а просто преобразует запрос в команду «вставить в» и отправляет его в postgres (что не удается, потому что я изначально хотел создать это представление).
Итак, мой вопрос: как я должен создать материализованное представление через calcite в postgres?
(Я также задавал этот вопрос в списке рассылки, однако мне показалось более уместным опубликовать его здесь)
Ответ №1:
Возможно, решение заключается в определении решеток при определении схемы и позволяет Calcite создавать материализованные представления для вас.
Когда вы определяете материализованное представление в своем определении схемы, Calcite просто предполагает, что вы уже создали его в Postgres и что он может свободно его использовать. Вот почему он делает insert into
заявление.