文档文档

InfluxDB 3 Core 中的数据保留

InfluxDB 3 Core 在查询时强制执行数据库保留期。任何时间戳超出保留期的数据点都将被从查询结果中过滤掉,尽管这些数据可能仍然存在于存储中。

数据库保留期

数据库保留期是指数据库保留数据的时长。保留期旨在自动删除过期数据并优化存储,无需用户干预。

默认情况下,数据不会过期。在您 创建数据库 时,您可以选择设置保留期。保留期最短可以是一个小时,也可以是无限长(none)。

在具有超出指定保留期(相对于当前时间)时间戳的数据库中,数据点无法被查询,但可能仍存在于存储中,直到被保留执行服务完全删除。

保留期格式

保留期指定为时长值,使用数字加上时长单位。保留期值不能为负数,也不能包含空格。

有效时长单位

单位描述
h小时
d
w
mo月 (30 天)
y年 (365 天)

分钟 (m) 和秒 (s) 单位不支持用于保留期。

数据保留期限制

  • 数据保留的最小值:实际最小数据保留期为 1 小时 (1h)。
  • 零持续时间周期:允许将数据保留期设置为 0<unit>(例如 0d0h),但这会将所有数据标记为在查询时立即删除。这与 InfluxDB 1.x 和 2.x 不同,在这些版本中 0d 表示无限期保留。
  • 无限期保留:使用 none 设置无限期保留。

保留期示例值

Value描述
1h1 小时
24h24 小时(1 天)
7d7 天
4w4 周(28 天)
1mo1 个月(30 天)
90d90 天
1y1 年(365 天)
none无限 - 数据永不过期

您可以将多个时长单位组合在一个值中

Value描述
30d12h30 天零 12 小时(30.5 天)
2w3d2 周零 3 天(17 天)
1y6mo1 年零 6 个月(545 天)

设置数据库保留期

使用 influxdb3 create database 命令或 /api/v3/configure/database HTTP API 端点来创建带有保留期的数据库。

# Create a database with a 30-day retention period
influxdb3 create database --retention-period 30d 
DATABASE_NAME
# Create a database with infinite retention influxdb3 create database --retention-period none
DATABASE_NAME
# Create a database with a 90-day retention period using authentication influxdb3 create database \ --retention-period 90d \ --token
AUTH_TOKEN
\
DATABASE_NAME
# Create a database with a 30-day retention period
curl --request POST "localhost:8181/api/v3/configure/database" \
  --header "Content-Type: application/json" \
  --header "Authorization: Bearer 
AUTH_TOKEN
"
\
--data '{ "db": "
DATABASE_NAME
",
"retention_period": "30d" }' # Create a database with infinite retention curl --request POST "localhost:8181/api/v3/configure/database" \ --header "Content-Type: application/json" \ --header "Authorization: Bearer
AUTH_TOKEN
"
\
--data '{ "db": "
DATABASE_NAME
",
"retention_period": "none" }' # Create a database with a 90-day retention period curl --request POST "localhost:8181/api/v3/configure/database" \ --header "Content-Type: application/json" \ --header "Authorization: Bearer
AUTH_TOKEN
"
\
--data '{ "db": "
DATABASE_NAME
",
"retention_period": "90d" }'

替换以下内容:

Core 中的保留期是不可变的

在 InfluxDB 3 Core 中,保留期只能在 创建数据库 时设置,之后无法更改。如果您需要更改保留期,则必须创建一个具有所需保留期的新数据库并迁移您的数据。

升级到 InfluxDB 3 Enterprise 以获得更高级的保留功能

使用 InfluxDB 3 Enterprise,您可以设置表级别的保留策略并在创建后更新保留期。有关更多信息,请参阅 InfluxDB 3 Enterprise 数据保留


此页面是否有帮助?

感谢您的反馈!


InfluxDB 3.8 新特性

InfluxDB 3.8 和 InfluxDB 3 Explorer 1.6 的主要增强功能。

查看博客文章

InfluxDB 3.8 现已适用于 Core 和 Enterprise 版本,同时发布了 InfluxDB 3 Explorer UI 的 1.6 版本。本次发布着重于操作成熟度,以及如何更轻松地部署、管理和可靠地运行 InfluxDB。

更多信息,请查看

InfluxDB Docker 的 latest 标签将指向 InfluxDB 3 Core

在 **2026 年 2 月 3 日**,InfluxDB Docker 镜像的 latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。

如果使用 Docker 来安装和运行 InfluxDB,latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。例如,如果使用 Docker 运行 InfluxDB v2,请将 latest 版本标签替换为 Docker pull 命令中的特定版本标签 — 例如

docker pull influxdb:2