创建表
使用 influxdb3 create table 命令 或 HTTP API 在 InfluxDB 3 Core 中创建指定数据库中的表。
在 InfluxDB 3 Core 中,表和度量(measurement)是同义词。通常,表会在写入时自动创建,使用写入 InfluxDB 的行协议中指定的表名。但是,您也可以手动创建表,以便在写入数据之前定义自定义架构或应用自定义设置。
使用 influxdb3 CLI 创建表
使用 influxdb3 create table 命令并提供以下信息
- 必需: 要在其下创建表的数据库名称
- 必需: 要创建的表的名称(请参阅 表命名限制)
- 必需: 要包含在表中的标签列(必须至少有一个标签列)
- 可选: 要包含在表中的字段列及其数据类型
表必须包含至少一个标签列。字段列是可选的,可以在写入数据时添加。
# Create a table with tag columns
influxdb3 create table \
--tags tag1,tag2,tag3 \
--database DATABASE_NAME \
--token AUTH_TOKEN \
TABLE_NAME
# Create a table with tag and field columns
influxdb3 create table \
--tags room,sensor_id \
--fields temp:float64,hum:float64,co:int64 \
--database DATABASE_NAME \
--token AUTH_TOKEN \
TABLE_NAME替换以下内容:
DATABASE_NAME: 要在其下创建表的数据库名称TABLE_NAME: 要创建的表名称AUTH_TOKEN:您的 管理员令牌
使用 HTTP API 创建表
要使用 HTTP API 创建表,请向 /api/v3/configure/table 端点发送 POST 请求
POST localhost:8181/api/v3/configure/table在您的请求中包含以下内容
- Headers:
Authorization: Bearer加上您的身份验证令牌Content-Type: application/json
- 请求正文: 包含表配置的 JSON 对象
db(string, required): 数据库名称table(string, required): 表名称tags(array, required): 标签列名称fields(array, optional): 字段定义,包含名称和类型
# Create a table with tag columns
curl -X POST "localhost:8181/api/v3/configure/table" \
--header "Authorization: Bearer AUTH_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"db": "DATABASE_NAME",
"table": "TABLE_NAME",
"tags": ["tag1", "tag2", "tag3"]
}'
# Create a table with tag and field columns
curl -X POST "localhost:8181/api/v3/configure/table" \
--header "Authorization: Bearer AUTH_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"db": "DATABASE_NAME",
"table": "TABLE_NAME",
"tags": ["room", "sensor_id"],
"fields": [
{"name": "temp", "type": "float64"},
{"name": "hum", "type": "float64"},
{"name": "co", "type": "int64"}
]
}'替换以下内容:
DATABASE_NAME: 要在其下创建表的数据库名称TABLE_NAME: 要创建的表名称AUTH_TOKEN:您的 管理员令牌
数据保留
在 InfluxDB 3 Core 中,表使用数据库的保留期。
时间戳超出数据库保留期的点将不再可查询,并会被标记为删除。要控制表的到期数据,请在 创建数据库 时设置保留期。
有关更多信息,请参阅 InfluxDB 3 Core 中的数据保留。
升级到 Enterprise 以获得表级保留期
使用 InfluxDB 3 Enterprise,您可以设置表级保留期,该保留期将覆盖数据库保留期。这允许您在同一数据库中为不同类型的数据维护不同的保留策略。
有关更多信息,请参阅 InfluxDB 3 Enterprise。
表命名限制
InfluxDB 3 Core 中的表名称必须遵守以下命名限制
- 允许的字符: 字母数字字符(a-z、A-Z、0-9)、下划线(
_)、连字符(-) - 起始字符:应以字母或数字开头,不应以下划线 (
_) 开头 - 区分大小写: 表名称区分大小写
- 引号: 当名称包含特殊字符或空格时,请使用双引号
以下划线开头的名称保留供系统使用
以“_”(下划线)开头的名称可能保留供 InfluxDB 系统使用。虽然 InfluxDB 3 Core 可能不会明确拒绝这些名称,但使用它们存在与当前或未来系统功能发生冲突的风险,并可能导致意外行为或数据丢失。
此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 InfluxDB 3 Core 和本文档提供反馈和错误报告。要获得支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。