4.0 KiB
Use the influxdb3 delete table
command
or the HTTP API to delete a table from a specified database in {{< product-name >}}.
With {{< product-name >}}, tables and measurements are synonymous. By default, {{< product-name >}} performs a soft delete, which schedules the table for deletion and makes it unavailable for querying. You can also schedule a hard deletion to permanently remove the table and its data.
[!Caution]
Deleting a table cannot be undone
Deleting a table is a destructive action. Once a table is deleted, data stored in that table cannot be recovered.
Delete a table using the influxdb3 CLI
-
If you haven't already, download and install the
influxdb3
CLI. -
Use the
influxdb3 delete table
command to delete a table:
{{% code-placeholders "DATABASE_NAME|TABLE_NAME|AUTH_TOKEN" %}}
influxdb3 delete table \
--database DATABASE_NAME \
--token AUTH_TOKEN \
TABLE_NAME
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}
DATABASE_NAME
{{% /code-placeholder-key %}}: the name of the database containing the table - {{% code-placeholder-key %}}
TABLE_NAME
{{% /code-placeholder-key %}}: the name of the table to delete - {{% code-placeholder-key %}}
AUTH_TOKEN
{{% /code-placeholder-key %}}: your {{% token-link "admin" %}}
Hard delete a table immediately
To permanently delete a table and its data immediately, use the --hard-delete now
flag:
{{% code-placeholders "DATABASE_NAME|TABLE_NAME|AUTH_TOKEN" %}}
influxdb3 delete table \
--database DATABASE_NAME \
--token AUTH_TOKEN \
--hard-delete now \
TABLE_NAME
{{% /code-placeholders %}}
Schedule a hard deletion
To schedule a table for hard deletion at a specific time, use the --hard-delete
flag with a timestamp:
{{% code-placeholders "DATABASE_NAME|TABLE_NAME|AUTH_TOKEN" %}}
influxdb3 delete table \
--database DATABASE_NAME \
--token AUTH_TOKEN \
--hard-delete "2025-12-31T23:59:59Z" \
TABLE_NAME
{{% /code-placeholders %}}
Delete a table using the HTTP API
To delete a table using the HTTP API, send a DELETE
request to the /api/v3/configure/table
endpoint:
{{% api-endpoint method="DELETE" endpoint="{{< influxdb/host >}}/api/v3/configure/table" %}}
Include the following in your request:
- Query parameters:
db
: Database nametable
: Table name to deletehard_delete_at
: (Optional) Timestamp for hard deletion
- Headers:
Authorization: Bearer
with your authentication token
Soft delete a table
{{% code-placeholders "DATABASE_NAME|TABLE_NAME|AUTH_TOKEN" %}}
curl -X DELETE "{{< influxdb/host >}}/api/v3/configure/table?db=DATABASE_NAME&table=TABLE_NAME" \
--header "Authorization: Bearer AUTH_TOKEN"
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}
DATABASE_NAME
{{% /code-placeholder-key %}}: the name of the database containing the table - {{% code-placeholder-key %}}
TABLE_NAME
{{% /code-placeholder-key %}}: the name of the table to delete - {{% code-placeholder-key %}}
AUTH_TOKEN
{{% /code-placeholder-key %}}: your {{% token-link "admin" %}}
Schedule a hard deletion
To schedule a hard deletion at a specific time, include the hard_delete_at
parameter with an ISO 8601 timestamp:
{{% code-placeholders "DATABASE_NAME|TABLE_NAME|AUTH_TOKEN" %}}
curl -X DELETE "{{< influxdb/host >}}/api/v3/configure/table?db=DATABASE_NAME&table=TABLE_NAME&hard_delete_at=2025-12-31T23:59:59Z" \
--header "Authorization: Bearer AUTH_TOKEN"
{{% /code-placeholders %}}
Response
A successful deletion returns HTTP status 200
with no content body.
Example error response
If the table doesn't exist, the API returns HTTP status 404
:
{
"error": "Table not found"
}