TDengine支持事后修改超级表TTL吗?如何修改?
修改TDengine超级表TTL的正确操作方法
1. 更新超级表的默认TTL配置
你之前尝试的ALTER STABLE是可行的,只需使用正确语法:
ALTER STABLE `gps` TTL <你的新TTL值>;
这个操作会修改超级表的默认TTL设置,后续基于该超级表创建的新子表会自动继承这个新的TTL。
2. 同步已存在子表的TTL值
修改超级表的TTL不会自动同步到已创建的子表,需要单独更新这些子表:
- 先查询该超级表下的所有子表:
SELECT table_name FROM information_schema.ins_tables WHERE stable_name = 'gps';
- 对每个子表执行修改命令:
ALTER TABLE <子表名> TTL <你的新TTL值>;
如果子表数量较多,可以编写脚本(如Shell、Python)批量执行上述命令。
额外说明
- TTL支持带单位:默认单位为天,也可指定小时(
h)、分钟(m),例如TTL 48h代表2天。 - 若你的TDengine版本过旧,可能不支持
ALTER STABLE修改TTL,建议升级至最新稳定版本。
内容的提问来源于stack exchange,提问作者superman
相关产品推荐
相关产品推荐

