influxctl database create
influxctl database create
命令在InfluxDB集群中创建一个具有指定保留期的数据库。
保留期定义了数据库中保留数据的最大年龄,基于数据的时间戳。保留期值是一个由数值加上持续时间单位组成的时间持续时间值。例如,30d
表示30天。零持续时间保留期是无限的,数据不会过期。保留期值不能为负或包含空格。
有效持续时间单位包括
- m:分钟
- h:小时
- d:天
- w:周
- mo:月
- y:年
示例保留期值
0d
:无限/无3d
:3天6w
:6周1mo
:1个月(30天)1y
:1年30d30d
:60天2.5d
:60小时
自定义分区
您可以在创建数据库时使用--template-tag
、--template-tag-bucket
和--template-timeformat
标志来覆盖数据库的默认分区模板(%Y-%m-%d
)。使用Rust strftime提供时间格式,按特定标签分区,或将标签值分区到指定的“桶”中。每个都可以用作分区模板的一部分。请务必遵循分区最佳实践。
使用自定义分区时始终提供时间格式
如果使用任何--template-*
标志定义数据库的自定义分区模板,请始终包括--template-timeformat
标志以及用于分区模板的时间格式。否则,InfluxDB将省略分区模板中的时间,并且不会压缩分区。
不能重用已删除的数据库名称
您不能在创建新数据库时重用已删除数据库的名称。如果尝试重用该名称,API响应状态码为400
,并且message
字段包含以下内容:
'iox_proxy.app.CreateDatabase failed to create database: \
rpc error: code = AlreadyExists desc = A namespace with the
name `<DATABASE_NAME>` already exists'
用法
influxctl database create [flags] <DATABASE_NAME>
参数
参数 | 描述 |
---|---|
DATABASE_NAME | InfluxDB 数据库名称 |
标志
标志 | 描述 | |
---|---|---|
--retention-period | 数据库保留期 (默认为 0s ,无限期) | |
--max-tables | 每个数据库的最大表数(默认为 500,0 使用默认值) | |
--max-columns | 每张表的最大列数(默认为 250,0 使用默认值) | |
--template-tag | 添加到分区模板的标签(可以包含多个此标志) | |
--template-tag-bucket | 通过逗号分隔的标签和要将其分区到其中的桶数 - 例如:tag1,100 (可以包含多个此标志) | |
--template-timeformat | 分区模板的时间戳格式(默认为 %Y-%m-%d ) | |
-h | --help | 输出命令帮助 |
另请参阅 influxctl
全局标志。
示例
创建一个保留期为无限的数据库
influxctl database create mydb
创建一个保留期为30天的数据库
influxctl database create \
--retention-period 30d \
mydb
创建一个具有非默认表和列限制的数据库
influxctl database create \
--max-tables 200 \
--max-columns 150 \
mydb
创建一个具有自定义分区模板的数据库
以下示例创建了一个新的 mydb
数据库,并应用了一个分区模板,该模板通过两个标签(room
和 sensor-type
)以及使用时间格式 %Y-%m-%d
的天进行分区
influxctl database create \
--template-tag room \
--template-tag sensor-type \
--template-tag-bucket customerID,1000 \
--template-timeformat '%Y-%m-%d' \
mydb
有关自定义分区的更多信息,请参阅 管理数据分区。
这个页面有帮助吗?
感谢您的反馈!