---
title: Manage databases
description: Manage databases in your InfluxDB Cloud Dedicated cluster. A database is a named location where time series data is stored. Each InfluxDB database has a retention period, which defines the maximum age of data stored in the database.
url: https://docs.influxdata.com/influxdb3/cloud-dedicated/admin/databases/
estimated_tokens: 3960
product: InfluxDB Cloud Dedicated
version: cloud-dedicated
---

# Manage databases

An InfluxDB database is a named location where time series data is stored. Each InfluxDB database has a [retention period](#retention-periods).

**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 Cloud Dedicated does support InfluxQL, which requires databases and retention policies. See [InfluxQL DBRP naming convention](/influxdb3/cloud-dedicated/admin/databases/create/#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.

The *minimum* retention period for and InfluxDB database is 1 hour. The *maximum* retention period is infinite meaning data does not expire and will never be removed by the retention enforcement service.

## Table and column limits

You can customize [table (measurement) limits](#table-limit) and [table column limits](#column-limit) when you [create](#create-a-database) or [update a database](#update-a-database) in InfluxDB Cloud Dedicated.

### 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 Cloud Dedicated cluster in the following ways:

[](#may-improve-query-performance-view-more-info)

**May improve query performance** *View more info*

Schemas with many measurements that contain [focused sets of tags and fields](/influxdb3/cloud-dedicated/write-data/best-practices/schema-design/#design-for-performance) can make it easier for the query engine to identify what partitions contain the queried data, resulting in better query performance.

[](#more-puts-into-object-storage-view-more-info)

**More PUTs into object storage** *View more info*

By default, InfluxDB Cloud Dedicated partitions data by measurement and time range and stores each partition as a Parquet file in your cluster’s object store. By increasing the number of measurements (tables) you can store in your database, you also increase the potential for more `PUT` requests into your object store as InfluxDB creates more partitions. Each `PUT` request incurs a monetary cost and increases the operating cost of your cluster.

[](#more-work-for-the-compactor-view-more-info)

**More work for the compactor** *View more info*

To optimize storage over time, your InfluxDB Cloud Dedicated cluster contains a compactor that routinely compacts Parquet files in object storage. With more tables and partitions to compact, the compactor may need to be scaled (either vertically or horizontally) to keep up with demand, adding to the operating cost of your cluster.

### Column limit

**Default maximum number of columns**: 250

**Configurable maximum number of columns**: 1000

Each row must include a time column, with the remaining columns representing tags and fields. As a result, a table with 250 columns can have one time column and up to 249 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.

If you update the column limit for a database, the limit applies to newly created tables; doesn’t override the column limit for existing tables.

Increasing your column limit affects your InfluxDB Cloud Dedicated cluster in the following ways:

[](#may-adversely-affect-system-performance)

May adversely affect system performance

When creating or updating a database, you can configure the table column limit to be lower than the default or up to 1000, based on your requirements. InfluxData identified 250 columns as the safe limit for maintaining system performance and stability. Exceeding this threshold can result in [wide schemas](/influxdb3/cloud-dedicated/write-data/best-practices/schema-design/#avoid-wide-schemas), which can negatively impact performance and resource use, depending on your queries, the shape of your schema, and data types in the schema.

## [Create a database](/influxdb3/cloud-dedicated/admin/databases/create/)

Use the Admin UI, the [`influxctl database create` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/create/), or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/) to create a new InfluxDB database in your InfluxDB Cloud Dedicated cluster. You can create a database with an optional retention period and custom partitioning.

##### CLI

```bash
influxctl database create \
  --retention-period 30d \
  DATABASE_NAME
```

##### API

```bash
curl \
  --location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/databases" \
  --header "Authorization: Bearer MANAGEMENT_TOKEN" \
  --json '{ "name": "DATABASE_NAME" }'
```

[Read more](/influxdb3/cloud-dedicated/admin/databases/create/)

## [Update a database](/influxdb3/cloud-dedicated/admin/databases/update/)

Use the Admin UI, the [`influxctl database update` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/update/), or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/) to update attributes for a database in your InfluxDB Cloud Dedicated cluster. Provide the database name and the attributes to update.

##### CLI

```sh
influxctl database update \
  --retention-period 30d \
  --max-tables 500 \
  --max-columns 250 \
  DATABASE_NAME
```

##### API

```sh
curl \
  --location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/databases/DATABASE_NAME" \
  --request PATCH \
  --header "Accept: application/json" \
  --header 'Content-Type: application/json' \
  --header "Authorization: Bearer MANAGEMENT_TOKEN" \
  --data '{
    "maxTables": 500,
    "maxColumnsPerTable": 250,
    "retentionPeriod": 2592000000000000
  }'
```

[Read more](/influxdb3/cloud-dedicated/admin/databases/update/)

## [List databases](/influxdb3/cloud-dedicated/admin/databases/list/)

Use the Admin UI, the [`influxctl database list` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/list/), or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/) to list databases in your InfluxDB Cloud Dedicated cluster.

##### CLI

```sh
influxctl database list
```

##### API

```sh
curl \
  --location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/databases" \
  --header "Accept: application/json" \
  --header "Authorization: Bearer MANAGEMENT_TOKEN"
```

[Read more](/influxdb3/cloud-dedicated/admin/databases/list/)

## [Rename a database](/influxdb3/cloud-dedicated/admin/databases/rename/)

Use the [`influxctl database rename` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/rename/) to rename a database in your InfluxDB Cloud Dedicated cluster.

##### CLI

```sh
influxctl database rename <DATABASE_NAME> <NEW_DATABASE_NAME>
```

[Read more](/influxdb3/cloud-dedicated/admin/databases/rename/)

## [Delete a database](/influxdb3/cloud-dedicated/admin/databases/delete/)

Use the Admin UI, the [`influxctl database delete` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/delete/), or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/) to delete a database from your InfluxDB Cloud Dedicated cluster. Provide the name of the database you want to delete.

##### CLI

```sh
influxctl database delete <DATABASE_NAME>
```

##### API

```sh
curl \
  --location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/databases/DATABASE_NAME" \
  --request DELETE \
  --header "Accept: application/json" \
  --header "Authorization: Bearer MANAGEMENT_TOKEN"
```

[Read more](/influxdb3/cloud-dedicated/admin/databases/delete/)

## [Undelete a database](/influxdb3/cloud-dedicated/admin/databases/undelete/)

Use the Admin UI or the [`influxctl database undelete` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/undelete/) to restore a previously deleted database in your InfluxDB Cloud Dedicated cluster.

```sh
influxctl database undelete <DATABASE_NAME>
```

[Read more](/influxdb3/cloud-dedicated/admin/databases/undelete/)

#### Related

-   [InfluxDB schema design recommendations](/influxdb3/cloud-dedicated/write-data/best-practices/schema-design/)
-   [influxctl](/influxdb3/cloud-dedicated/reference/cli/influxctl/)
