Перейти к основному содержанию

Правила TTL и управление

TTL будет применён не сразу. Что это значит? Настройка таблицы MergeTree merge_with_ttl_timeout задаёт минимальную задержку в секундах перед повторным слиянием с delete TTL. Значение по умолчанию — 14400 секунд (4 часа). Но это лишь минимальная задержка: фактический запуск слияния для delete TTL может произойти позже. Вы можете просмотреть все текущие настройки TTL (например, merge_with_ttl_timeout) с помощью этого запроса:
Ответ выглядит так:
Вы можете использовать SHOW CREATE TABLE, чтобы проверить, содержит ли ваша таблица правила TTL, а также изменяли ли какие-либо SETTINGS таблицы значения указанных выше настроек:

Принудительно применить правило TTL

Это не самое изящное решение, но можно явно вызвать MATERIALIZE TTL, чтобы принудительно материализовать все правила TTL таблицы:

Фоновые потоки, влияющие на TTL

Возможно, ваши правила TTL не применяются из-за недостаточного числа рабочих потоков во фоновом пуле. Например, при интенсивной вставке данных весь фоновый пул может быть занят обычными слияниями. Однако размер фонового пула можно увеличить. Проверить текущий размер фонового пула можно с помощью этого запроса:
Ответ будет выглядеть так:
О том, как изменить параметр background_pool_size, см. в документации; он задается следующим образом:
Текущую активность фонового пула можно проверить с помощью следующего запроса:
Последнее изменение 10 июня 2026 г.