更新时间:2026-05-22 GMT+08:00
分享

配置ClickHouse系统表的生命周期

操作场景

ClickHouse默认未配置系统表的TTL(Time To Live)机制,若长期使用且未手动设置过期策略,系统表中的历史数据将持续累积,可能导致磁盘空间被大量占用,甚至影响集群性能与存储可用性。

本章节指导用户配置系统表的生命周期,仅保留近30天的数据,减少系统表的磁盘使用。

操作步骤

  1. 登录表格存储服务控制台
  2. 创建具有系统表修改权限的ClickHouse用户,具体操作请参见配置ClickHouse用户权限
  3. 使用创建的用户登录客户端节点连接ClickHouse集群,具体请参见ClickHouse手动安装客户端
  4. 按需清理存量系统表数据,以系统表system.trace_log为例,执行如下命令:
    其中default_cluster为集群名称。
    truncate table system.trace_log on cluster default_cluster;

    truncate操作会清空全量表,操作前请确认该表数据无保留价值。

    其中default_cluster为集群名称。

  5. 配置系统表的TTL,保留近30天的数据,执行如下命令:
    alter table system.trace_log on cluster default_cluster modify TTL event_time + INTERVAL 30 day;

相关文档

更多TTL相关内容请参考https://clickhouse.com/docs/guides/developer/ttl#ttl-syntax

相关文档