108 lines
3.6 KiB
Markdown
108 lines
3.6 KiB
Markdown
|
|
InfluxDB uses an InfluxQL-like predicate syntax to determine what data
|
|
[points](/influxdb/version/reference/glossary/#point) to delete.
|
|
InfluxDB uses the delete predicate to evaluate the [series keys](/influxdb/version/reference/glossary/#series-key)
|
|
of points in the time range specified in the delete request.
|
|
Points with series keys that evaluate to `true` for the given predicate are deleted.
|
|
Points with series keys that evaluate to `false` are preserved.
|
|
|
|
A delete predicate is comprised of one or more [predicate expressions](/influxdb/version/reference/glossary/#predicate-expression).
|
|
The left operand of the predicate expression is the column name.
|
|
The right operand is the column value.
|
|
Operands are compared using [comparison operators](#comparison-operators).
|
|
Use [logical operators](#logical-operators) to combine two or more predicate expressions.
|
|
|
|
##### Example delete predicate
|
|
```sql
|
|
key1="value1" AND key2="value"
|
|
```
|
|
|
|
{{% note %}}
|
|
#### Predicates with special characters or keywords
|
|
If your predicate contains keywords or strings with special characters, wrap each in escaped
|
|
quotes to ensure the predicate string is parsed correctly.
|
|
|
|
Because delete predicates follow [InfluxQL](/influxdb/version/reference/syntax/influxql) syntax, [any InfluxQL keyword](/influxdb/version/reference/syntax/influxql/spec/#keywords)
|
|
that matches your tag name needs to be escaped. Keywords are case-insensitive.
|
|
|
|
```js
|
|
// Escaped due to the "-"
|
|
"_measurement=\"example-dash\""
|
|
|
|
// Escaped because "Name" is a keyword
|
|
"_measurement=example and \"Name\"=predicate"
|
|
```
|
|
{{% /note %}}
|
|
|
|
{{% warn %}}
|
|
#### Column limitations when deleting data
|
|
**InfluxDB {{< current-version >}}** supports deleting data by any column or tag
|
|
_**except**_ the following:
|
|
|
|
- `_time`
|
|
{{% show-in "v2" %}}- `_field`{{% /show-in %}}
|
|
- `_value`
|
|
|
|
{{% show-in "v2" %}}
|
|
|
|
_InfluxDB {{< current-version >}} does not support deleting data **by field**._
|
|
|
|
{{% /show-in %}}
|
|
|
|
{{% /warn %}}
|
|
|
|
## Logical operators
|
|
Logical operators join two or more predicate expressions.
|
|
|
|
| Operator | Description |
|
|
|:-------- |:----------- |
|
|
| `AND` | Both left and right operands must be `true` for the expression to be `true`. |
|
|
|
|
## Comparison operators
|
|
Comparison operators compare left and right operands and return `true` or `false`.
|
|
|
|
| Operator | Description | Example | Result |
|
|
|:-------- |:----------- |:-------: |:------:|
|
|
| `=` | Equal to | `"abc"="abc"` | `true` |
|
|
|
|
## Delete predicate examples
|
|
|
|
- [Delete points by measurement](#delete-points-by-measurement)
|
|
{{% show-in "cloud,cloud-serverless" %}}- [Delete points by field](#delete-points-by-field){{% /show-in %}}
|
|
- [Delete points by tag set](#delete-points-by-tag-set)
|
|
|
|
### Delete points by measurement
|
|
The following will delete points in the `sensorData` measurement:
|
|
|
|
```sql
|
|
_measurement="sensorData"
|
|
```
|
|
|
|
{{% show-in "cloud,cloud-serverless" %}}
|
|
|
|
### Delete points by field
|
|
The following will delete points with the `temperature` field:
|
|
|
|
```sql
|
|
_field="temperature"
|
|
```
|
|
|
|
{{% /show-in %}}
|
|
|
|
### Delete points by tag set
|
|
The following will delete points from the `prod-1.4` host in the `us-west` region:
|
|
|
|
```sql
|
|
host="prod-1.4" AND region="us-west"
|
|
```
|
|
|
|
## Limitations
|
|
The delete predicate syntax has the following limitations.
|
|
|
|
- Delete predicates do not support regular expressions.
|
|
- Delete predicates do not support the `OR` logical operator.
|
|
- Delete predicates only support equality (`=`), not inequality (`!=`).
|
|
- Delete predicates can use any column or tag **except** `_time`
|
|
{{% show-in "v2" %}}, `_field`, {{% /show-in %}}or `_value`.
|
|
|