(1)下面我们使用 CREATE RETENTION POLICY 语句来创建一个默认 RP:
CREATE RETENTION POLICY "two_hours" ON "mydb" DURATION 2h REPLICATION 1 DEFAULT
(2)查看下数据的保留策略,可以发现 two_hours 会取代 autogen 作为 mydb 的默认 RP。
SHOW RETENTION POLICIES ON "mydb"
(1)我们同样使用 CREATE RETENTION POLICY 语句来创建一个非默认的 RP,与上面默认的保留策略相比,尾部少了个 DEFAULT:
这个 RP 的名字叫 a_year 作用于 mydb 数据库上 a_year 保存数据的周期是 52 周,并作为 food_data 的一个非默认的 RP 复制片参数(REPLICATION 1)是必须的,但是对于单个节点的 InfluxDB 实例,复制片只能设为 1
CREATE RETENTION POLICY "a_year" ON "mydb" DURATION 52w REPLICATION 1
(2)查看下数据的保留策略,可以发现 a_year 这个非默认的 RP 也添加成功了:
SHOW RETENTION POLICIES ON "mydb"
(3)由于 a_year 是非默认的 RP,如果要使用该策略,插入数据时需要指定。如果没有指定,仍然使用默认 RP。
INSERT INTO "a_year" temperature,machine=unit42,type=assembly external=25,internal=37
(4)查询非默认 RP 的数据时也要指定 RP:
SELECT * FROM "a_year"."temperature"
ALTER RETENTION POLICY "what_is_time" ON "mydb" DURATION 3w SHARD DURATION 30m DEFAULT
DROP RETENTION POLICY "what_is_time" ON "mydb"