184 похожих чатов

Здравствуйте народ, нужна помощь. Помогите плиз. Подскажите пож какие есть способы

создать materialized view в clickouse из репликационных таблиц (MaterializedPostgreSQL). Где мне искать примеры реализации ?

13 ответов

27 просмотров

Нужно просто взять и создать ;) Engine таблицы не важен, синтаксис такой же. Только работает это не очень https://github.com/ClickHouse/ClickHouse/issues/39805

Sirius-Sufiev Автор вопроса
Ilya Golshtein
Нужно просто взять и создать ;) Engine таблицы не ...

Exception: CREATE TABLE is not allowed for database engine MaterializedPostgreSQL. Use ATTACH TABLE instead Такая же ошибка вылетает

Запрос приведите. http://pastila.nl

Sirius-Sufiev Автор вопроса
Sirius Sufiev
https://dpaste.org/mWrCg

Честно говоря, я не вижу, откуда там берется create table, но работать это не должно. Попробуйте почитать/посмотреть про materialized view . Например, https://den-crane.github.io/Everything_you_should_know_about_materialized_views_commented.pdf Еще есть видео, но ссылку сходу не нахожу.

Sirius-Sufiev Автор вопроса
Ilya Golshtein
Честно говоря, я не вижу, откуда там берется creat...

Имеете ввиду, мой квери работать не должно ?

Да. sum посчитается для порции вставленных данных, насколько я понимаю. Ну и просто оно кажется слишком сложным для materialized view.

Sirius Sufiev
https://dpaste.org/mWrCg

попробуйте создать в базе КХ(default например), а не в базе PG. Похоже у вас текущая база выбрана PG. Но над самой MatView конечно стоит поработать, пока непонятно как вы представляете что это должно работать, join в mat view это зло

Sirius-Sufiev Автор вопроса
Ilya Golshtein
Да. sum посчитается для порции вставленных данных,...

У вас большой опыт ? Можете помочь или подсказать где искать решение данной проблемы ?

Sirius Sufiev
У вас большой опыт ? Можете помочь или подсказать...

Я скорее писатель, чем читатель, опыта DBA у меня мало. Но вам же уже почти все подсказали. Коллега Konstanti Ilchenko справедливо предположил, что у вас текущий database имеет Engine MaterializedPostgreSQL, нужно либо явно указать другой (например, default), либо сделать его текущим. Из-за этого и "CREATE TABLE is not allowed for database engine ". А по тому, как правильно использовать MV в принципе - почитайте и приходите с вопросами.

Sirius Sufiev
У вас большой опыт ? Можете помочь или подсказать...

AggregatingMergeTree не умеет суммировать само, надо задавать AggregateFunction. вы зря взяли AggregatingMergeTree тут достаточно summing, и order by неверный. про join уже все написали https://pastila.nl/?00b77793/b12062971a8e351a583844a94a54e904 тренируйтесь на маленьких тестовых таблицах из 3 строк https://fiddle.clickhouse.com/

Sirius-Sufiev Автор вопроса
Konstantin Ilchenko
попробуйте создать в базе КХ(default например), а ...

У меня MaterializedPostgreSQL выполняет процесс репликации. Через default смогу ли я подключиться к удаленному PG ? Или можно ли через PostgreSQL подключиться к удаленному PG и MatView который я хочу реализовать ? Спасибо за ранее

Sirius Sufiev
У меня MaterializedPostgreSQL выполняет процесс ре...

mat view не подключается к удалённому PG. Это триггер на инсерт в таблицу в КХ. Когда происходит вставка в таблицу transactions в КХ, сработает триггер и прогонит этот блок вставляемых данных через MatView. Поэтому не важно в какой базе mat view, это всё на стороне КХ происходит

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта