数据删除
时序数据通常具有一定的时效性,数据操作基本集中在最新的数据上。用户可以通过配置数据保留策略,自动删除超过保留期限的数据。另外,用户也可以通过调用删除接口手动执行数据删除。
自动删除数据
在创建时序表的时候确定了时序表的数据保留策略,当时序表内数据所在的 chunkgroup 的右边界早于当前时间减去数据保留时长,系统会后台自动删除整个chunkgroup 内的数据。
手动删除数据
通过调用函数进行手动数据删除。
示例
SELECT * FROM timeseries_catalog.drop_ts_outdate_cg('weather', now());
SELECT * FROM timeseries_catalog.drop_ts_outdate_cg('public.weather', now()+ '1 h'::interval);
NOTICE: timeseries table weather outdate boundary is 2022-10-31 12:58:01.641916+08
NOTICE: chunkgroup 24773 boundary is 2022-07-27 04:00:00+08
NOTICE: chunkgroup 24773 with boundary(2022-07-27 04:00:00+08) is out of date.
NOTICE: drop chunkgroup 24773 of rel 24760
NOTICE: chunkgroup 24780 boundary is 2025-10-18 09:00:00+08
NOTICE: chunkgroup 24787 boundary is 2025-10-18 11:00:00+08
NOTICE: chunkgroup 24794 boundary is 2025-10-18 12:00:00+08
NOTICE: chunkgroup 24801 boundary is 2030-07-28 06:00:00+08
手动删除函数的第一个参数用于指定时序表,第二个参数指定触发数据删除的时间。调用过期删除函数,会立即触发一次自动删除动作,自动删除以函数的第二个参数作为当前系统时间进行数据过期检查。
函数执行时会输出提示信息展示时序表每个chunkgroup的过期边界,还会输出信息展示被删除的chunkgroup信息。
如果时序表中数据设置的保留策略是永久保留,无法通过调用删除函数进行手动删除。