Documentation

Manage databases

An InfluxDB 3 Enterprise database is a named location where time series data is stored. Each database can contain multiple tables.

If coming from InfluxDB v1, the concepts of databases and retention policies have been combined into a single concept–database. Retention policies are no longer part of the InfluxDB data model. However, InfluxDB 3 Enterprise does support InfluxQL, which requires databases and retention policies. See InfluxQL DBRP naming convention.

If coming from InfluxDB v2, InfluxDB Cloud (TSM), or InfluxDB Cloud Serverless, database and bucket are synonymous.

Retention periods

A database retention period is the maximum age of data stored in the database. The age of data is determined by the timestamp associated with each point. When a point’s timestamp is beyond the retention period (relative to now), the point is marked for deletion and is removed from the database the next time the retention enforcement service runs.

By default, data does not expire. When you create a database, you can optionally set a retention period. The minimum practical retention period is 1 hour (1h).

Database retention periods can be updated after creation. For tables within a database, you can set table-specific retention periods that override the database retention period.

For complete details about retention periods, including duration formats, precedence rules, and deletion behavior, see Data retention in InfluxDB 3 Enterprise.

Database, table, and column limits

InfluxDB 3 Enterprise places the following limits on databases, tables, and columns:

Database limit

Maximum number of databases: 100

Table limit

Maximum number of tables across all databases: 10000

InfluxDB 3 Enterprise limits the number of tables you can have across all databases to 10000 by default. You can configure the table limit using the --num-table-limit configuration option. InfluxDB doesn’t limit how many tables you can have in an individual database, as long as the total across all databases is below the limit.

Having more tables affects your InfluxDB 3 Enterprise installation in the following ways:

May improve query performance View more info

More PUTs into object storage View more info

More work for the compactor View more info

Column limit

Maximum number of columns per table: 500

Each row must include a time column, with the remaining columns representing tags and fields. As a result, by default, a table can have one time column and up to 499 combined field and tag columns. If you attempt to write to a table and exceed the column limit, the write request fails and InfluxDB returns an error.

You can configure the maximum number of columns per table using the num-total-columns-per-table-limit configuration option.

Higher numbers of columns has the following side-effects:

May adversely affect system performance


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