首页 > 解决方案 > 删除属于特定保留策略的度量

问题描述

最近,我们将我们的数据从使用保留策略 autogen(默认)的测量“用户”迁移到保留策略六十天 (sixty_days.users)。所以我们不再需要 autogen.users 中的数据。

我们如何在不损害 Sixty_days.users 中的数据的情况下删除它?

这是一个奇怪的行为,因为当我们将数据插入到 Sixty_days.users 时 - 它没有应用于 autogen.users,但是当我们尝试删除/删除时 - 它会从它们两者中删除它。

我们尝试按时间使用 DROP 和 DELETE,但没有成功。

我们希望仅删除属于特定 RT 的测量中的数据。

标签: influxdb

解决方案


正如 Nikolay Manolov 在他的回答中提到的那样,您不能将保留策略指定为 DELETE OR DROP 命令的一部分。但我们真的需要它吗?

经过测试我确认,您的问题与使用相同的测量名称以及不同的保留策略有关。因此,更好的破解方法可能是使用“用户”以外的临时测量名称,直到您使用默认保留策略删除旧副本。

select * into "sixty_days".temp_user from "autogen".user group by *;
delete from user;
select * into "sixty_days".user from "sixty_days".temp_user group by *;
delete temp_user;

您需要将 by 子句作为上述查询的一部分进行分组,以避免默认情况下将标签转换为字段。


推荐阅读