TSDB Query Node
x/tsdbQuery: Universal time-series database query node, delegates by driver.
Requires the extension library: rulego-components-iot (opens new window)
# Configuration
| Field | Type | Description | Default |
|---|---|---|---|
| driver | string | TSDB driver: opengemini/influxdb/tdengine/timescaledb | required |
| (other fields) | — | Passed through to the delegated TSDB query node (connection and query fields, see table below) | — |
# Supported drivers
| driver | Delegate node | Query language | Connection | Query field |
|---|---|---|---|---|
| opengemini | x/opengeminiQuery | SQL | server/username/password/database | command |
| influxdb | x/influxdbQuery | Flux | url/token/org/bucket | query |
| tdengine | x/tdengineQuery | SQL | dsn (REST: root:taosdata@http(host:6041)/) /db | query |
| timescaledb | x/timescaledbQuery | SQL (PostgreSQL) | dsn/db | query |
promremote is write-only (no query support). Connection fields are the same as the corresponding write nodes, see x/tsdbWrite.
# Output (msg.Data)
Results from all drivers are normalized into a columns+rows QueryResult JSON and routed to Success; query errors are routed to Failure:
{
"Columns": ["time", "device_id", "temp"],
"Rows": [
{"time": "2026-07-29T10:00:00Z", "device_id": "d1", "temp": 25.3}
]
}
1
2
3
4
5
6
2
3
4
5
6
Column names follow each backend's native dialect (e.g. InfluxDB Flux returns
_time/_value/_fieldbuilt-in columns). Query statements are written in the selected backend's native language and support${msg.xx}/${metadata.xx}templates.
Edit this page on GitHub (opens new window)
Last Updated: 2026/07/29, 08:03:51