TDengine 中的命名与边界

简介

本章主要介绍命名的合法字符集和限制规则,这对于正确使用 TDengine,减小报错很重要,这些规则在 SQL 语句中都生效,在使用过程中要注意,避免不必要的错误。

名称命名规则

  1. 合法字符:英文字符、数字和下划线。
  2. 允许英文字符或下划线开头,不允许以数字开头。
  3. 不区分大小写。
  4. 不能是 保留关键字
  5. 转义后表(列)名规则:
    为了兼容支持更多形式的表(列)名,TDengine 引入新的转义符 "`"。使用转义字符以后:
    • 不再对转义字符中的内容进行大小写统一,即可以保留用户指定表名中的大小写属性,例如 `aBc` 和 `abc` 是不同的表(列)名,但是 abc 和 aBc 是相同的表(列)名。
    • 可以创建包含字母、数字和下划线以外字符的表(列)名,例如:`abc@TD`,但是转义后名称中仍然不能包含.,否则会提示The table name cannot contain '.'
    • 可以创建以数字开头的表(列)名,例如 `1970`。
    • 可以创建以 保留关键字 命名的表(列)名,例如 `select`。

密码合法字符集

[a-zA-Z0-9!?$%^&*()_--+={[}]:;@~#|<,>.?/]

去掉了 '"`\ (单双引号、撇号、反斜杠、空格)

一般限制

  • 数据库名最大长度为 64 字节
  • 表名最大长度为 192 字节,不包括数据库名前缀和分隔符
  • 每行数据最大长度 48KB(从 v3.0.5.0 开始为 64KB)(注意:数据行内每个 BINARY/NCHAR 类型的列还会额外占用 2 个字节的存储位置)
  • 列名最大长度为 64 字节
  • 最多允许 4096 列,最少需要 2 列,第一列必须是时间戳。
  • 标签名最大长度为 64 字节
  • 最多允许 128 个,至少要有 1 个标签,一个表中标签值的总长度不超过 16KB
  • SQL 语句最大长度 1048576 个字符
  • SELECT 语句的查询结果,最多允许返回 4096 列(语句中的函数调用可能也会占用一些列空间),超限时需要显式指定较少的返回数据列,以避免语句执行报错
  • 库的数目,超级表的数目、表的数目,系统不做限制,仅受系统资源限制
  • 数据库的副本数只能设置为 1 或 3
  • 用户名的最大长度是 23 字节
  • 用户密码的长度范围是 8-255 字节
  • 总数据行数取决于可用资源
  • 单个数据库的虚拟结点数上限为 1024

访问官网

更多内容欢迎访问 TDengine 官网

相关推荐
Elastic 中国社区官方博客18 小时前
ES95:面向 Elasticsearch 时间序列指标的自适应压缩
大数据·运维·elasticsearch·搜索引擎·架构·全文检索
数字化转型分享点滴18 小时前
机加工车间上线 SH‑AIOT 物联网会遇到哪些常见实施难点
python·物联网
醉颜凉18 小时前
数据仓库实战:自动化数据质量检测全流程——精准提升数据准确性与完整性
大数据·数据仓库·自动化
闻道且行之18 小时前
图片处理助手|泊松融合原理 + C++ 工程实现,seamlessClone 三模式一次讲透
数据库·c++·人工智能·opencv
鲁邦通物联网19 小时前
出海物联网设备的全球化网络接入与合规脱敏架构:基于 Node-RED 与 C++ 零拷贝的边缘系统设计
网络·物联网·系统架构·边缘计算·边缘计算网关·5g数采·工业级边缘计算网关
星恒讯工业路由器19 小时前
家庭无线组网方式全解析:从单路由到FTTR,哪种适合你?
网络·物联网·智能路由器·路由器·家庭组网·ac+ap·mesh组网
夏炳辉.19 小时前
PostgreSQL 高可用集群核心配置参数全解:从原生流复制到 Patroni 企业级方案
数据库·postgresql
努力的小雨20 小时前
KES 开启 SSL 前,证书、端口和客户端要一起验
数据库
DevOps老兵20 小时前
AI全栈知识07:向量数据库 - Milvus/Chroma实战
数据库·ai·milvus
这个DBA有点耶20 小时前
当数据库从“存储”走向“决策”:金仓数据库的融合架构之路
数据库·架构·aigc