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
有关自定义分区的更多信息,请参阅 管理数据分区。
此页内容是否对您有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子!我们欢迎并鼓励您提供关于 InfluxDB Clustered 和本文档的反馈和错误报告。要获得支持,请使用以下资源
拥有年度合同或支持合同的客户 可以联系 InfluxData 支持。