через Distributed таблицу?
                  
                  
                  Имею
                  
                  
                  CREATE TABLE logs_node(
                  
                  
                    created_at DateTime,
                  
                  
                    created_date Date MATERIALIZED toDate(created_at)
                  
                  
                  ) ENGINE = ReplicatedMergeTree(....);
                  
                  
                  и
                  
                  
                  CREATE TABLE logs AS logs_node ENGINE = Distributed(...)
                  
                  
                  при попытке вставки
                  
                  
                  cat file.csv | clickhouse-client --host clickhouse --query="INSERT INTO logs(created_at) FORMAT CSV"
                  
                  
                  получаю
                  
                  
                  Code: 44. DB::Exception: Received from clickhouse:9000, 10.254.141.47. DB::Exception: Cannot insert column created_date.
                  
                  
                  при такой же вставке в локальную нереплицированную таблицу все было хорошо.
                  
                  
                
Да, есть. Суть в том, что если в локальной таблице поле тоже MATERIALIZED, то она не позволяет вставить то, что ей отправляет Distributed таблица. Для решения можно заменить MATERIALIZED на DEFAULT.
Обсуждают сегодня