---
title: Database and retention policy mapping
description: The database and retention policy (DBRP) mapping service maps InfluxDB 1.x database and retention policy combinations to InfluxDB Cloud and InfluxDB OSS 2.x buckets.
url: https://docs.influxdata.com/influxdb/v2/api-guide/influxdb-1x/dbrp/
estimated_tokens: 1119
product: InfluxDB OSS v2
version: v2
---

# Database and retention policy mapping

This page documents an earlier version of InfluxDB OSS. [InfluxDB 3 Core](/influxdb3/core/) is the latest stable version.

#### API token hashing is enabled by default in InfluxDB OSS 2.9.0

Stronger token security: tokens are stored as hashes on disk, so a copy of the database file doesn’t expose usable tokens. Existing tokens are hashed on first startup and the original strings can’t be recovered afterward — **capture any plaintext tokens you still need before you upgrade**.

For more information, see [Token hashing](/influxdb/v2/admin/tokens/#token-hashing).

The InfluxDB 1.x data model includes [databases](/influxdb/v1/concepts/glossary/#database) and [retention policies](/influxdb/v1/concepts/glossary/#retention-policy-rp). InfluxDB 2.9 replaces databases and retention policies with [buckets](/influxdb/v2/reference/glossary/#bucket). To support InfluxDB 1.x query and write patterns in InfluxDB 2.9, databases and retention policies are mapped to buckets using the **database and retention policy (DBRP) mapping service**.

The DBRP mapping service uses the **database** and **retention policy** specified in [1.x compatibility API](/influxdb/v2/reference/api/influxdb-1x/) requests to route operations to a bucket.

### Default retention policies

A database can have multiple retention policies with one set as default. If no retention policy is specified in a query or write request, InfluxDB uses the default retention policy for the specified database. Use the `influx` CLI or the InfluxDB API to set a retention policy as the default retention policy for a database.

### When creating a bucket

When you [create a bucket](/influxdb/v2/admin/buckets/create-bucket/), InfluxDB 2.9 automatically creates a “virtual” DBRP mapping. Virtual DBRP mappings are those that are created on your behalf.

-   **If your bucket name includes a forward slash (`/`)**, the virtual DBRP mapping uses everything before the forward slash as the database name and everything after the forward slash as the retention policy name. If the database does not already have a default retention policy, the parsed retention policy is set as the default.
-   **If your bucket name does not include a forward slash (`/`)**, the virtual DBRP mapping uses the bucket name as the database and `autogen` as the retention policy. The `autogen` retention policy is set as the default retention policy.

### When writing data

When writing data using the [`/write` compatibility endpoint](/influxdb/v2/reference/api/influxdb-1x/write/), the DBRP mapping service uses the database and retention policy specified in the request to write the data to the appropriate bucket.

### When querying data

When querying data from InfluxDB 2.9 using the [`/query` compatibility endpoint](/influxdb/v2/reference/api/influxdb-1x/query/), the DBRP mapping service uses the database and retention policy specified in the request to query data from the appropriate bucket. If no retention policy is specified, the database’s default retention policy is used.

#### A DBRP combination can only be mapped to a single bucket

Each unique DBRP combination can only be mapped to a single bucket. If you map a DBRP combination that is already mapped to another bucket, it will overwrite the existing DBRP mapping.

#### Related

-   [/influxdb/v2/api/dbrps/ InfluxDB v2 API /dbrps endpoint](/influxdb/v2/api/dbrps/%20InfluxDB%20v2%20API%20/dbrps%20endpoint)
-   [Query data with InfluxQL](/influxdb/v2/query-data/influxql/)
