content/shared/influxdb3-cli/delete/database.md
The influxdb3 delete database command deletes a database.
# Syntax
influxdb3 delete database [OPTIONS] <DATABASE_NAME>
DATABASE_NAME: The name of the database to delete. Valid database names are alphanumeric and start with a letter or number. Dashes (-) and underscores (_) are allowed.
Environment variable: INFLUXDB3_DATABASE_NAME
{{% hide-in "enterprise" %}}
| Option | Description | |
|---|---|---|
-H | --host | Host URL of the running {{< product-name >}} server (default is http://127.0.0.1:8181) |
--hard-delete | When to hard delete data (never/now/default/timestamp). Default behavior is a soft delete that allows recovery | |
--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 self-signed certificates) | |
-h | --help | Print help information |
--help-all | Print detailed help information | |
| {{% /hide-in %}} |
{{% show-in "enterprise" %}}
| Option | Description | |
|---|---|---|
-H | --host | Host URL of the running {{< product-name >}} server (default is http://127.0.0.1:8181) |
--data-only | Delete only data while preserving schemas and all associated resources (tokens, triggers, caches, etc.). Default behavior deletes everything | |
--remove-tables | Used with --data-only to remove table resources (caches) while preserving database-level resources (tokens, triggers, processing engine configurations) | |
--hard-delete | When to hard delete data (never/now/default/timestamp). Default behavior is a soft delete that allows recovery | |
--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 self-signed certificates) | |
-h | --help | Print help information |
--help-all | Print detailed help information | |
| {{% /show-in %}} |
You can use the following environment variables to set command options:
| Environment Variable | Option |
|---|---|
INFLUXDB3_HOST_URL | --host |
INFLUXDB3_AUTH_TOKEN | --token |
INFLUXDB3_TLS_NO_VERIFY | --tls-no-verify |
In the examples below, replace the following:
DATABASE_NAME{{% /code-placeholder-key %}}:
Database nameAUTH_TOKEN{{% /code-placeholder-key %}}:
Authentication tokeninfluxdb3 delete database DATABASE_NAME
influxdb3 delete database --token AUTH_TOKEN DATABASE_NAME
{{% show-in "enterprise" %}}
Delete all data from a database while preserving:
This is useful when you want to clear old data and re-write new data to the same schema without recreating resources.
<!--pytest.mark.skip-->influxdb3 delete database --data-only DATABASE_NAME
Delete all data and table resources (caches) while preserving database-level resources:
This is useful when you want to start fresh with a new schema but keep existing authentication and trigger configurations.
<!--pytest.mark.skip-->influxdb3 delete database --data-only --remove-tables DATABASE_NAME
{{% /show-in %}}
Permanently delete a database and all its data immediately without the ability to recover.
<!--pytest.mark.skip-->influxdb3 delete database --hard-delete now DATABASE_NAME
Schedule a database for permanent deletion at a specific timestamp.
<!--pytest.mark.skip-->influxdb3 delete database --hard-delete "2024-01-01T00:00:00Z" DATABASE_NAME