遗憾的是,无法通过配置设置默认保留策略.原因是通常在数据库创建期间定义保留策略持续时间.
CREATE DATABASE
[WITH [DURATION ] [REPLICATION ]
[SHARD DURATION ] [NAME ]]
如果允许用户通过配置设置默认保留期限,则命令的结果
CREATE DATABASE mydb
因实例而异.虽然这不一定有问题,但它也不理想.
The problem is that this default policy has a duration of 7 days. I need to set it to 14 days.
InfluxDB中的默认保留策略应该是无限的.
> CREATE DATABASE mydb
> SHOW RETENTION POLICIES ON mydb
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
autogen 0s 168h0m0s 1 true
在这里,我们看到保留策略的持续时间为0,这是无限的别名,分片组持续时间为168h0m0s,即7天.
我认为这里混淆的主要问题是相对普遍的 – 主要是由于保留政策命名不佳.在InfluxDB中,数据库是保留策略的容器,而保留策略是实际时间序列数据的容器.也就是说,保留策略不是一个策略,而是一个容器,它对所包含的所有数据都有策略.
我的建议是在InfluxDB中创建数据库时始终完全明确.这样做将始终保证您的数据库具有正确的保留策略持续时间.因此,要创建具有14天保留策略的数据库,您将发出该命令
CREATE DATABASE mydb WITH DURATION 14d