Update a database
Use the influxctl database update
command
to update a database in your InfluxDB cluster.
-
If you haven’t already, download and install the
influxctl
CLI. -
Run the
influxctl database update
command and provide the following:- Database name
- Optional: Database retention period.
Default is infinite (
0
). - Optional: Database table (measurement) limit.
Default is
500
. - Optional: Database column limit.
Default is
250
.
influxctl database update \
--retention-period 30d \
--max-tables 500 \
--max-columns 250 \
DATABASE_NAME
Replace the following in your command:
DATABASE_NAME
: your InfluxDB Clustered database
Database names can’t be updated
The influxctl database update
command uses the database name to identify which
database to apply updates to. The database name itself can’t be updated.
Database attributes
- Retention period syntax
- Database naming restrictions
- InfluxQL DBRP naming convention
- Table and column limits
Retention period syntax (influxctl CLI)
Use the --retention-period
flag to define a specific
retention period
for the database.
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 (for example, 0s
or 0d
) retention period is infinite and data won’t 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/none3d
: 3 days6w
: 6 weeks1mo
: 1 month (30 days)1y
: 1 year30d30d
: 60 days2.5d
: 60 hours
Database naming restrictions
Database names must adhere to the following naming restrictions:
- Cannot contain whitespace, punctuation, or special characters.
Only alphanumeric, underscore (
_
), dash (-
), and forward-slash (/
) characters are permitted. - Should not start with an underscore (
_
). - Maximum length of 64 characters.
InfluxQL DBRP naming convention
In InfluxDB 1.x, data is stored in databases and retention policies. In InfluxDB Clustered, databases and retention policies have been merged into databases, where databases have a retention period, but retention policies are no longer part of the data model. Because InfluxQL uses the 1.x data model, a database must be mapped to a v1 database and retention policy (DBRP) to be queryable with InfluxQL.
When naming a database that you want to query with InfluxQL, use the following naming convention to automatically map v1 DBRP combinations to a database:
database_name/retention_policy_name
Database naming examples
v1 Database name | v1 Retention Policy name | New database name |
---|---|---|
db | rp | db/rp |
telegraf | autogen | telegraf/autogen |
webmetrics | 1w-downsampled | webmetrics/1w-downsampled |
Table and column limits
In InfluxDB Clustered, table (measurement) and column limits can be
configured using the --max-tables
and --max-columns
flags.
Table limit
Default maximum number of tables: 500
Each measurement is represented by a table in a database. Your database’s table limit can be raised beyond the default limit of 500. InfluxData has production examples of clusters with 20,000+ active tables across multiple databases.
Increasing your table limit affects your InfluxDB cluster in the following ways:
Column limit
Default maximum number of columns: 250
Time, fields, and tags are each represented by a column in a table. Increasing your column limit affects your InfluxDB cluster in the following ways:
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 and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.