CREATE TIMESERIES POLICY
功能描述
用于在当前 database 下创建一个新的数据保留策略。
注意事项
-
新建的数据保留策略名称不能与已存在的保留策略重名。
-
duration不能小于chunkGroupDuration。
-
duration和chunkGroupDuration格式为'数字+时间单位'。输入的数字如果不是整数,系统会对其向上取整,例如1.2 week会取整为2 weeks。
-
duration和chunkGroupDuration不支持负数,duration和chunkGroupDuration支持的最小时间单位是1 hour,如果设置的值小于1 hour 会自动设置为 1 hour。
-
duration和chunkGroupDuration支持设置的单位包括:小时(hour)、天(day)、周(week)、月(month)、年(year),不支持其他时间单位。
-
每种时间单位的取值范围限制如下:
单位 下限 上限 年 0 296533 月 0 3558399 周 0 15250284 天 0 106751991 小时 0 2147483647
语法格式
CREATE TIMESERIES POLICY [ IF NOT EXISTS ] policy_name WITH (option = value, [...] )
其中option包含:
-
duration:时序数据保留时间,超出这个时间的历史数据自动删除,删除以Chunk Group粒度为单位。取值范围 >= 1h。特殊值0表示数据永久保留,此时时间单位支持second、minute、hour、day、week、month、year。
-
chunkGroupDuration:指定时序表的Chunk Group时间跨度,不支持设为特殊值0。
如果未指定本参数,系统自动根据duration参数设置合适的Chunk Group Duration参数,规则如下
- duration < 2天,chunkGroupDuration设置为1小时。chunkGroup 时间对齐到一小时,即chunkGroup的起止时间应该是整点,如 '2020-07-10 00:00:00'、'2020-07-10 01:00:00',而不会出现 '2020-07-10 00:10:00'、'2020-07-10 00:10:10' 这样的时间点。
- duration <= 6个月,chunkGroupDuration设置为1天。chunkGroup对齐到天,如 '2020-07-10 00:00:00'、'2020-07-11 00:00:00';
- duration > 6个月,chunkGroupDuration设置为7天。chunkGroup对齐到周,即chunkGroup的起始时间对齐到当周的周一。
- duration > 3 年,chunkGroupDuration设置为 1个月。chunkGroup对齐到月,即chunkGroup的起始时间对齐到当月的一号。
duration和chunkGroupDuration数字部分的上限为231。
每个 database 下有一个名为 ‘infinity’的默认的数据保留策略,默认策略的 duration=’0s’,表示数据永远不删除,chunkGroupDuration=’1month’。
示例
Uqbar=# CREATE TIMESERIES POLICY policy_test WITH (duration = '2 years', chunkGroupDuration='7 days');
CREATE POLICY