system.query_log 的 TTL 未设置(clickhouse)

TTL for system.query_log is not set (clickhouse)

当我使用 <engine> 标签为 config.xml 文件中的 query_log table 设置 ttl 时 - 为新 table [=27= 设置了 ttl ] 删除旧的后:

<query_log>
    <database>system</database>
    <table>query_log</table>
    <engine>ENGINE = MergeTree PARTITION BY toYYYYMM(event_date)
        ORDER BY (event_date, event_time)
        TTL event_date + INTERVAL 1 MINUTE DELETE
        SETTINGS min_bytes_for_wide_part = '10M'
    </engine>
    <flush_interval_milliseconds>7500</flush_interval_milliseconds>
</query_log>

但是当我想在单独的标签中配置 ttl 时 <ttl> - ttl 没有为新设置 query_log table:

<query_log>
    <database>system</database>
    <table>query_log</table>
    <partition_by>toYYYYMM(event_date)</partition_by>
    <ttl>event_date + INTERVAL 1 MINUTE DELETE</ttl>
    <flush_interval_milliseconds>7500</flush_interval_milliseconds>
</query_log>

我用的是clickhouse 20.8.2.3

有人可以帮我解决这个问题吗?我想使用 <ttl> 选项

20.8.2.3 不支持。

您需要升级。

https://github.com/ClickHouse/ClickHouse/blob/master/CHANGELOG.md#clickhouse-release-v211215-stable-2021-01-18

ClickHouse 版本 v21.1.2.15-stable 2021-01-18

允许指定 TTL 以从系统日志表中删除旧条目,使用 config.xml 中的 <ttl> 属性。 #17438(杜川).