如何在Clickhouse桌上使用TTL?

时间:2019-04-27 00:29:20

标签: 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功能的任何示例或想法!

1 个答案:

答案 0 :(得分:3)

表和列的TTL已发布但尚未发布,将在19.6.x中提供。文档反映了“主要”技术水平,而不是最新版本。这无疑是令人困惑的。为了查看特定版本,您可以参考特定主要版本的文档,例如:https://clickhouse.yandex/docs/v19.5/en/operations/table_engines/mergetree/