删除谓词语法
InfluxDB使用类似InfluxQL的谓词语法来确定要删除的数据
points。
InfluxDB使用删除谓词来评估在删除请求中指定的时间范围内的series keys。
对于给定的谓词,评估为true的系列键对应的点将被删除。
评估为false的系列键对应的点将被保留。
删除谓词由一个或多个 谓词表达式 组成。 谓词表达式的左操作数是列名。 右操作数是列值。 操作数使用 比较运算符 进行比较。 使用 逻辑运算符 来组合两个或多个谓词表达式。
示例删除谓词
key1="value1" AND key2="value"
具有特殊字符或关键字的谓词
如果你的谓词包含关键字或带有特殊字符的字符串,请将每个字符串用转义引号括起来,以确保谓词字符串能够正确解析。
因为删除谓词遵循 InfluxQL 语法, 任何 InfluxQL 关键字 与您的标签名称匹配时需要被转义。关键字不区分大小写。
// Escaped due to the "-"
"_measurement=\"example-dash\""
// Escaped because "Name" is a keyword
"_measurement=example and \"Name\"=predicate"
删除数据时的列限制
InfluxDB 2.7 支持通过任何列或标签删除数据 但不包括以下内容:
_time_field_value
InfluxDB 2.7 不支持通过 字段 删除数据。
逻辑运算符
逻辑运算符将两个或多个谓词表达式连接在一起。
| 操作符 | 描述 |
|---|---|
AND | 表达式要为true,左右操作数必须都是true。 |
比较运算符
比较运算符比较左侧和右侧操作数并返回 true 或 false。
| 操作符 | 描述 | 示例 | 结果 |
|---|---|---|---|
= | 等于 | "abc"="abc" | true |
删除谓词示例
通过测量删除点
以下内容将删除 sensorData 测量中的点:
_measurement="sensorData"
通过标签集删除点
以下将从 prod-1.4 主机在 us-west 区域删除点:
host="prod-1.4" AND region="us-west"
限制
删除谓词语法有以下限制。
- 删除谓词不支持正则表达式。
- 删除谓词不支持
OR逻辑运算符。 - 删除谓词仅支持等式 (
=),不支持不等式 (!=)。 - 删除谓词可以使用任何列或标签 除了
_time,_field, 或_value。