Use the influxctl CLI to query data
Use the influxctl query command
to query data in InfluxDB Clustered with SQL or InfluxQL.
Provide the following with your command:
Database token: A database token with read permissions on the queried database. By default, this uses the
databasesetting from theinfluxctlconnection profile or the--tokencommand flag.Database name: The name of the database to query. By default, this uses the
databasesetting from theinfluxctlconnection profile or the--databasecommand flag.Query language (Optional): The query language of the query. Use the
--languageflag to specify one of the following query languages:sql(default)influxql
Query: SQL or InfluxQL query to execute. Pass the query in one of the following ways:
- a string on the command line
- a path to a file that contains the query
- a single dash (
-) to read the query from stdin
influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
--language influxql \
"SELECT * FROM home"influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
--language influxql \
/path/to/query.influxqlcat ./query.influxql | influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
--language influxql \
- Replace the following:
DATABASE_TOKEN: Database token with read access to the queried databaseDATABASE_NAME: Name of the database to query
Query timeouts
The influxctl --timeout global flag sets the maximum duration for API calls, including query requests.
If a query takes longer than the specified timeout, the operation will be canceled.
Timeout examples
Use different timeout values based on your query type:
# Shorter timeout for testing dashboard queries (10 seconds)
influxctl query \
--timeout 10s \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
"SELECT * FROM sensors WHERE time >= now() - INTERVAL '1 hour' LIMIT 100"
# Longer timeout for analytical queries (5 minutes)
influxctl query \
--timeout 300s \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
"SELECT room, AVG(temperature) FROM sensors WHERE time >= now() - INTERVAL '30 days' GROUP BY room"For guidance on selecting appropriate timeout values, see Query timeout best practices.
Output format
The influxctl query command supports the following output formats:
table(default)json
Use the --format flag to specify the output format:
Timestamp format
When using the table output format, you can specify which of
the following timestamp formats to use to display timestamp values in the query
results:
rfc3339nano: (Default) RFC3339Nano-formatted timestamp–for example:2024-01-01T00:00:00.000000000Zunixnano: Unix nanosecond timestamp
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB Clustered and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.