是否可以对 influxdb 中的默认保留策略执行删除查询?

问题描述

名为“metrics”的 Influx 数据库有两个保留策略,并指定两个中的一个作为默认值。

CREATE RETENTION POLICY basic ON "metrics" DURATION 2h  REPLICATION 1 SHARD DURATION 6m DEFAULT
CREATE RETENTION POLICY downsample ON "metrics" DURATION 60d  REPLICATION 1 SHARD DURATION 2h

还有大量连续查询每 10 分钟运行一次,并对数据进行下采样以写入涌入 下采样 保留策略层。 基本保留政策层级可用的条目每 2 小时清除一次,降采样保留政策在 60 天后清除。

连续查询示例如下

CREATE CONTINUOUS QUERY "cq_reads" ON "metrics" BEGIN SELECT sum(reads) as reads INTO downsample.stats_io FROM "metrics".basic.stats_io GROUP BY time(10m),* END

metrics 是数据库名称,stats_io 是此处的度量。

我有指定 GB 的内存限制,允许流入我的产品。在某个时候,influx 开始无法扩展以容纳 60 天的数据。

在达到我的内存限制后,我正在尝试清除基本保留策略中最旧的 10 分钟数据。仍然需要在下采样保留政策中提供相应的下采样最旧 10 分钟数据。

以下命令将删除基本下采样保留策略中最近十分钟的数据。

delete stats_io where time>1609457374835790623 and time < 1609457374835790623 + 10m

我不想删除在 downsample 保留政策中可用的降采样数据。所以试图单独删除基本保留策略。

delete basic.stats_io where time>1609457374835790623 and time < 1609457374835790623 + 10m

不幸的是,此查询最终出错,并且不允许根据保留策略进行删除。

ERR: error parsing query: found basic,expected FROM,WHERE at line 1,char 8

但是,选择查询可在特定保留策略下正常工作。但是 delete 的工作方式不同。示例:选择查询

select count(*) from basic.stats_io // Properly get the count for the measurement with specified retention policy

我想知道为什么删除不支持基于保留策略的删除。是否存在任何其他方法或查询来单独清除默认保留策略数据?

非常感谢任何建议。谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...