TTL для системы.журнал запросов не задан (clickhouse)

#clickhouse

Вопрос:

когда я использую <engine> тег для установки ttl для таблицы query_log в config.xml файл — ttl устанавливается для новой таблицы query_log после удаления старой:

 <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:

 <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> опцию

Ответ №1:

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-стабильный 2021-01-18

Разрешить указывать TTL для удаления старых записей из таблиц системного журнала, используя <ttl> атрибут в config.xml. №17438 (Ду Чуань).