Здравствуйте, работаю с ClickHouse через NodeJs и библиотеку
clickhouse.
Установлен ClickHouse в docker.
Подключаюсь из NodeJs к ClickHouse вот так:
import { ClickHouse } from 'clickhouse'
const clickhouse = new ClickHouse({
url: process.env.DB_CLICKHOUSE_HOST,
port: process.env.DB_CLICKHOUSE_PORT,
config: {
database: process.env.DB_CLICKHOUSE_DB,
}
});
Затем создаю таблицу через ClickHouse клиент вот таким запросом:
CREATE TABLE api_logs.api_logs_10 (
id UUID,
user_id UInt32,
...
...
...
date DateTime('Europe/Moscow')
) ENGINE MergeTree()
ORDER BY (id, date)
PARTITION BY user_id
PRIMARY KEY id
И вставляю в таблицу данные, через ClickHouse клиент я вставил 140 записей одним запросом, а через NodeJs я максимум смог вставить 21 запись, хотя судя по документации лимит вставки 100 записей, но я конфигурации ClickHouse не изменял еще.
Вставлял вот таким образом:
await clickhouse.query(`
INSERT INTO api_logs_10 VALUES
('2a995861-df44-47f8-9b8a-f9134048ce7c', 2, .......... ,'2021-01-04 00:44:07'),
..........
('5398b124-e5fe-4bb7-a0a8-944737188603', 2, .......... ,'2021-01-04 00:45:01'),
`).toPromise()
При 22 записях и более вот такая ошибка:
Error: 400: Bad Request
......
Проверил лимит вставки вот таким образом:
SELECT name, value, changed, min, max, readonly FROM system.settings WHERE name='max_partitions_per_insert_block' limit 1
┌─name┬value┬─changed┬min┬─max┬readonly─┐
│ max_partitions_per_insert_block │ 100 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │
В чем может быть проблема и как ее можно устранить?