Как использовать TTL для таблицы clickhouse?

Читая документацию, я обнаружил, что функция TTL очень удобна для меня. Однако я не могу создать действительный SQL, чтобы задействовать его.

Как это сделать:

CREATE TABLE t1 (
  name String, 
  date DateTime default now(),
  number UInt64 default 0 TTL date + INTERVAL 1 DAY 
) Engine MergeTree() ORDER BY name;

что дает следующую ошибку:

Syntax error: failed at position 92 (line 4, col 27):
...[copy of my code here]
Expected one of: NOT, LIKE, AND, OR, IN, BETWEEN, COMMENT, CODEC, token, IS, NOT LIKE, NOT IN, GLOBAL IN, GLOBAL NOT IN, ClosingRoundBracket, Comma, QuestionMark

Я также попытался задействовать TTL для всей таблицы:

CREATE TABLE t1 (
  name String, 
  date DateTime default now(),
  number UInt64 default 0  
) Engine MergeTree() ORDER BY name TTL date + INTERVAL 1 DAY;

Что тоже привело к ошибке.

Насколько я понимаю, все делаю по документации (https://clickhouse.yandex/docs/en/operations/table_engines/mergetree/#table_engine-mergetree-creating-a-table), но я все еще не могу использовать это характерная черта.

Я использую сервер версии 19.5.3, ревизия 54417.

Пожалуйста, предоставьте какие-либо примеры или мысли о том, как использовать функцию TTL!


person CoderFF    schedule 27.04.2019    source источник
comment
Сейчас он работает? в настоящее время - ›clickhouse-client --version Клиент ClickHouse версии 20.5.3.27 (официальная сборка)   -  person Jifri Valanchery    schedule 11.09.2020


Ответы (1)


TTL для таблиц и столбцов пока не выпущены, они будут доступны в 19.6.x. Документация отражает «основное» состояние дел, а не последнюю версию. Это, конечно, сбивает с толку. Чтобы увидеть конкретный выпуск, вы можете обратиться к документации для конкретной основной версии, например: https://clickhouse.yandex/docs/v19.5/en/operations/table_engines/mergetree/

person Alexander Zaitsev    schedule 27.04.2019