influxctl database create

Limited availability

InfluxDB Clustered is currently only available to a limited group of InfluxData customers. If interested in being part of the limited access group, please contact the InfluxData Sales team.

The influxctl database create command creates a new database with a specified retention period in an InfluxDB cluster.

The retention period defines the maximum age of data retained in the database, based on the timestamp of the data. The retention period value is a time duration value made up of a numeric value plus a duration unit. For example, 30d means 30 days. A zero duration retention period is infinite and data will not expire. The retention period value cannot be negative or contain whitespace.

Valid durations units include
  • m: minute
  • h: hour
  • d: day
  • w: week
  • mo: month
  • y: year
Example retention period values
  • 0d: infinite/none
  • 3d: 3 days
  • 6w: 6 weeks
  • 1mo: 1 month (30 days)
  • 1y: 1 year
  • 30d30d: 60 days
  • 2.5d: 60 hours

Custom partitioning

You can override the default partition template (%Y-%m-%d) of the database with the --template-tag, --template-tag-bucket, and --template-timeformat flags when you create the database. Provide a time format using Rust strftime, partition by specific tag, or partition tag values into a specified number of “buckets.” Each of these can be used as part of the partition template. Be sure to follow partitioning best practices.


influxctl database create [flags] <DATABASE_NAME>


DATABASE_NAMEInfluxDB database name


--retention-periodDatabase retention period (default is 0s or infinite)
--max-tablesMaximum tables per database (default is 500, 0 uses default)
--max-columnsMaximum columns per table (default is 250, 0 uses default)
--template-tagTag to add to partition template (can include multiple of this flag)
--template-tag-bucketTag and number of buckets to partition tag values into separated by a comma–for example: tag1,100 (can include multiple of this flag)
--template-timeformatTimestamp format for partition template (default is %Y-%m-%d)
-h--helpOutput command help


Create a database with an infinite retention period

influxctl database create mydb

Create a database with a 30-day retention period

influxctl database create \
  --retention-period 30d \

Create a database with non-default table and column limits

influxctl database create \
  --max-tables 200 \
  --max-columns 150 \

Create a database with a custom partition template

The following example creates a new mydb database and applies a partition template that partitions by two tags (room and sensor-type) and by week using the time format %Y wk:%W:

influxctl database create \
  --template-tag room \
  --template-tag sensor-type \
  --template-tag-bucket customerID,1000 \
  --template-timeformat '%Y wk:%W' \

For more information about custom partitioning, see Manage data partitioning.

View command updates

Was this page helpful?

Thank you for your feedback!

The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Flux is going into maintenance mode and will not be supported in InfluxDB 3.0. This was a decision based on the broad demand for SQL and the continued growth and adoption of InfluxQL. We are continuing to support Flux for users in 1.x and 2.x so you can continue using it with no changes to your code. If you are interested in transitioning to InfluxDB 3.0 and want to future-proof your code, we suggest using InfluxQL.

For information about the future of Flux, see the following: