influxdb3 create database
The influxdb3 create database command creates a new database in your InfluxDB 3 Core instance.
Provide a database name and, optionally, specify connection settings and authentication credentials using flags or environment variables.
Usage
# Syntax
influxdb3 create database [OPTIONS] <DATABASE_NAME>Arguments
DATABASE_NAME: The name of the database to create. Valid database names are alphanumeric and start with a letter or number. Dashes (-) and underscores (_) are allowed.
You can also set the database name using the INFLUXDB3_DATABASE_NAME environment variable.
Options
| Option | Description | |
|---|---|---|
-H | --host | Host URL of the running InfluxDB 3 Core server (default is http://127.0.0.1:8181) |
--retention-period | Database retention period (duration value, for example: 30d, 24h, 1h) | |
--schema-mode | Schema mode for tables in the database: implicit (default) or explicit. Fixed when the database is created | |
--token | Authentication token | |
--tls-ca | Path to a custom TLS certificate authority (for self-signed or internal certificates) | |
--tls-no-verify | Disable TLS certificate verification. Not recommended in production. Useful for testing with self-signed certificates | |
-h | --help | Print help information |
--help-all | Print detailed help information |
Option environment variables
You can use the following environment variables instead of providing CLI options directly:
| Environment Variable | Option |
|---|---|
INFLUXDB3_HOST_URL | --host |
INFLUXDB3_AUTH_TOKEN | --token |
INFLUXDB3_TLS_NO_VERIFY | --tls-no-verify |
Examples
The following examples show how to create a database.
In the examples below, replace the following:
DATABASE_NAME: Database nameAUTH_TOKEN: Authentication token
Create a database (default)
Creates a database using settings from environment variables and defaults.
influxdb3 create database DATABASE_NAMECreate a database with an authentication token
Creates a database using the specified arguments. Flags override their associated environment variables.
influxdb3 create database --token AUTH_TOKEN DATABASE_NAMECreate a database with a retention period
Creates a database with a 30-day retention period. Data older than 30 days will not be queryable.
influxdb3 create database --retention-period 30d DATABASE_NAMECreate a database with infinite retention
Creates a database with no retention period (data never expires).
influxdb3 create database --retention-period none DATABASE_NAMECreate a database with a 90-day retention period
Creates a database with a 90-day retention period using an authentication token.
influxdb3 create database \
--retention-period 90d \
--token AUTH_TOKEN \
DATABASE_NAMECreate a database with a 1-year retention period
Creates a database with a 1-year retention period.
influxdb3 create database --retention-period 1y DATABASE_NAMECreate a database with a combined duration
Creates a database with a retention period of 30 days and 12 hours.
influxdb3 create database --retention-period 30d12h DATABASE_NAMECreate a database with explicit schema mode
explicit schema mode requires InfluxDB 3 Enterprise.
InfluxDB 3 Core accepts only implicit (the default) and rejects a
request for explicit schema mode with an error.
influxdb3 create database --schema-mode explicit DATABASE_NAMEInfluxDB 3 Core returns the following error and doesn’t create the database:
explicit schema mode is only available in InfluxDB 3 EnterpriseRetention period duration formats
Retention periods are specified as duration values using a numeric value plus a duration unit.
Valid duration units
| Unit | Description |
|---|---|
h | hour |
d | day |
w | week |
mo | month (30 days) |
y | year (365 days) |
Minute (m) and second (s) units are not supported for retention periods.
Retention period constraints
- Minimum for data retention: The practical minimum retention period is 1 hour (
1h). - Zero-duration periods: Setting a retention period to
0<unit>(for example,0dor0h) is allowed but marks all data for immediate deletion at query time. This differs from InfluxDB 1.x and 2.x where0dmeant infinite retention. - Infinite retention: Use
noneto set an infinite retention period.
Example duration values
1h- 1 hour24h- 24 hours7d- 7 days4w- 4 weeks30d- 30 days1mo- 1 month (30 days)90d- 90 days1y- 1 year (365 days)none- infinite (data never expires)
You can combine units: 30d12h (30.5 days), 1y6mo (545 days)
For complete details about retention periods, see Data retention in InfluxDB 3 Core.
Schema mode
The --schema-mode option controls where table and column definitions come from:
implicit(default): Tables and columns are created automatically from the line protocol you write.explicit: Tables and columns must be declared with theinfluxdb3 create tablecommand or the/api/v3/configure/tableAPI before you can write to them. A write that names an undeclared table or column is rejected.
Schema mode applies to every table in the database and is fixed when you create the database. You can’t change a database’s schema mode afterward.
Explicit schema mode requires InfluxDB 3 Enterprise. InfluxDB 3 Core databases always use implicit schema mode: tables and columns are created automatically from the data you write.
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 3 Core and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.