跳到主要内容

命名与边界

名称命名规则

  1. 合法字符:英文字母、数字和下划线。

  2. 允许以英文字母或下划线开头,不允许以数字开头。

  3. 不区分大小写。

  4. 不能是 保留关键字

  5. 转义后的表(列)名规则:

    为兼容更多形式的表(列)名,TDengine 引入转义符反引号 `。使用转义后:

    • 不再对转义内容做大小写统一,可保留用户指定的大小写。例如 `aBc``abc` 是不同的表(列)名,而 abcaBc(未转义)是相同的表(列)名。
    • 可以创建包含字母、数字和下划线以外字符的表(列)名,例如 `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 语句最大长度默认为 4194304 个字符,可通过参数 maxSQLLength 配置,最大可配置为 64MB
  • SELECT 语句的查询结果最多允许返回 4096 列(语句中的函数调用也可能占用列空间);超限时需显式指定较少的返回列,以避免执行报错
  • 库的数目、超级表的数目、表的数目系统不做限制,仅受系统资源限制
  • 数据库的副本数只能设置为 13
  • 用户名的最大长度是 23 字节
  • 用户密码的长度范围是 8–255 字节
  • 总数据行数取决于可用资源
  • 单个数据库的 vgroup 数量上限为 1024