Documentation

influxctl database create

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.

Always provide a time format when using custom partitioning

If defining a custom partition template for your database with any of the --template-* flags, always include the --template-timeformat flag with a time format to use in your partition template. Otherwise, InfluxDB omits time from the partition template and won’t compact partitions.

Wait before writing to a new database with the same name as a deleted database

After deleting a database from your InfluxDB cluster, you can reuse the name to create a new database, but wait two to three minutes after deleting the previous database before writing to the new database to allow write caches to clear.

Usage

influxctl database create [flags] <DATABASE_NAME>

Arguments

ArgumentDescription
DATABASE_NAMEInfluxDB database name

Flags

FlagDescription
--retention-periodDatabase retention period (default is 0s, 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

Examples

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 \
  mydb

Create a database with non-default table and column limits

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

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 day using the time format %Y-%m-%d:

influxctl database create \
  --template-tag room \
  --template-tag sensor-type \
  --template-tag-bucket customerID,1000 \
  --template-timeformat '%Y-%m-%d' \
  mydb

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

View command updates


Was this page helpful?

Thank you for your feedback!


New in InfluxDB 3.5

Key enhancements in InfluxDB 3.5 and the InfluxDB 3 Explorer 1.3.

See the Blog Post

InfluxDB 3.5 is now available for both Core and Enterprise, introducing custom plugin repository support, enhanced operational visibility with queryable CLI parameters and manual node management, stronger security controls, and general performance improvements.

InfluxDB 3 Explorer 1.3 brings powerful new capabilities including Dashboards (beta) for saving and organizing your favorite queries, and cache querying for instant access to Last Value and Distinct Value caches—making Explorer a more comprehensive workspace for time series monitoring and analysis.

For more information, check out:

InfluxDB Docker latest tag changing to InfluxDB 3 Core

On November 3, 2025, the latest tag for InfluxDB Docker images will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments.

If using Docker to install and run InfluxDB, the latest tag will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments. For example, if using Docker to run InfluxDB v2, replace the latest version tag with a specific version tag in your Docker pull command–for example:

docker pull influxdb:2