IoTDB 内置系统数据库 INFORMATION_SCHEMA
,其中包含一系列系统表,用于存储 IoTDB 运行时信息(如当前正在执行的 SQL 语句等)。目前INFORMATION_SCHEMA
数据库只支持读操作。
- 名称:
INFORMATION_SCHEMA
- 指令:只读,只支持
Show databases (DETAILS)
/ Show Tables (DETAILS) / Use
,其余操作将会报错:"The database 'information_schema' can only be queried"
- 属性:
TTL=INF
,其余属性默认为null
- SQL示例:
IoTDB> show databases
+------------------+-------+-----------------------+---------------------+---------------------+
| Database|TTL(ms)|SchemaReplicationFactor|DataReplicationFactor|TimePartitionInterval|
+------------------+-------+-----------------------+---------------------+---------------------+
|information_schema| INF| null| null| null|
+------------------+-------+-----------------------+---------------------+---------------------+
IoTDB> show tables from information_schema
+-------------+-------+
| TableName|TTL(ms)|
+-------------+-------+
| databases| INF|
| tables| INF|
| pipe_plugins| INF|
|subscriptions| INF|
| regions| INF|
| columns| INF|
| topics| INF|
| queries| INF|
| pipes| INF|
+-------------+-------+
- 名称:
DATABASES
, TABLES
, REGIONS
, QUERIES
, COLUMNS
, PIPES
, PIPE_PLUGINS
, SUBSCRIPTION
, TOPICS
(详细介绍见后面小节) - 操作:只读,只支持
SELECT
, COUNT/SHOW DEVICES
, DESC
,不支持对于表结构 / 内容的任意修改,如果修改将会报错:"The database 'information_schema' can only be queried"
- 列名:系统表的列名均默认为小写,且用
_
分隔
列名 | 数据类型 | 列类型 | 说明 |
---|
database | STRING | TAG | 数据库名称 |
ttl(ms) | STRING | ATTRIBUTE | 数据保留时间 |
schema_replication_factor | INT32 | ATTRIBUTE | 元数据副本数 |
data_replication_factor | INT32 | ATTRIBUTE | 数据副本数 |
time_partition_interval | INT64 | ATTRIBUTE | 时间分区间隔 |
schema_region_group_num | INT32 | ATTRIBUTE | 元数据分区数量 |
data_region_group_num | INT32 | ATTRIBUTE | 数据分区数量 |
IoTDB> select * from information_schema.databases
+------------------+-------+-------------------------+-----------------------+-----------------------+-----------------------+---------------------+
| database|ttl(ms)|schema_replication_factor|data_replication_factor|time_partition_interval|schema_region_group_num|data_region_group_num|
+------------------+-------+-------------------------+-----------------------+-----------------------+-----------------------+---------------------+
|information_schema| INF| null| null| null| null| null|
| database1| INF| 1| 1| 604800000| 0| 0|
+------------------+-------+-------------------------+-----------------------+-----------------------+-----------------------+---------------------+
列名 | 数据类型 | 列类型 | 说明 |
---|
database | STRING | TAG | 数据库名称 |
table_name | STRING | TAG | 表名称 |
ttl(ms) | STRING | ATTRIBUTE | 数据保留时间 |
status | STRING | ATTRIBUTE | 状态 |
comment | STRING | ATTRIBUTE | 注释 |
- 说明:status 可能为
USING
/PRE_CREATE
/PRE_DELETE
,具体见表管理中查看表的相关描述 - 查询示例:
IoTDB> select * from information_schema.tables
+------------------+-------------+-----------+------+-------+
| database| table_name| ttl(ms)|status|comment|
+------------------+-------------+-----------+------+-------+
|information_schema| databases| INF| USING| null|
|information_schema| tables| INF| USING| null|
|information_schema| pipe_plugins| INF| USING| null|
|information_schema|subscriptions| INF| USING| null|
|information_schema| regions| INF| USING| null|
|information_schema| columns| INF| USING| null|
|information_schema| topics| INF| USING| null|
|information_schema| queries| INF| USING| null|
|information_schema| pipes| INF| USING| null|
| database1| table1|31536000000| USING| null|
+------------------+-------------+-----------+------+-------+
- 包含集群中所有
Region
的信息 - 表结构如下表所示:
列名 | 数据类型 | 列类型 | 说明 |
---|
region_id | INT32 | TAG | region ID |
datanode_id | INT32 | TAG | dataNode ID |
type | STRING | ATTRIBUTE | 类型(SchemaRegion / DataRegion) |
status | STRING | ATTRIBUTE | 状态(Running/Unknown 等) |
database | STRING | ATTRIBUTE | database 名字 |
series_slot_num | INT32 | ATTRIBUTE | series slot 个数 |
time_slot_num | INT64 | ATTRIBUTE | time slot 个数 |
rpc_address | STRING | ATTRIBUTE | Rpc 地址 |
rpc_port | INT32 | ATTRIBUTE | Rpc 端口 |
internal_address | STRING | ATTRIBUTE | 内部通讯地址 |
role | STRING | ATTRIBUTE | Leader / Follower |
create_time | TIMESTAMP | ATTRIBUTE | 创建时间 |
tsfile_size_bytes | INT64 | ATTRIBUTE | 可统计的 DataRegion:含有 TsFile 的总文件大小;不可统计的 DataRegion(Unknown):-1;SchemaRegion:null; |
IoTDB> select * from information_schema.regions
+---------+-----------+------------+-------+---------+---------------+-------------+-----------+--------+----------------+------+-----------------------------+-----------------+
|region_id|datanode_id| type| status| database|series_slot_num|time_slot_num|rpc_address|rpc_port|internal_address| role| create_time|tsfile_size_bytes|
+---------+-----------+------------+-------+---------+---------------+-------------+-----------+--------+----------------+------+-----------------------------+-----------------+
| 0| 1|SchemaRegion|Running|database1| 12| 0| 0.0.0.0| 6667| 127.0.0.1|Leader|2025-03-31T11:19:08.485+08:00| null|
| 1| 1| DataRegion|Running|database1| 6| 6| 0.0.0.0| 6667| 127.0.0.1|Leader|2025-03-31T11:19:09.156+08:00| 3985|
| 2| 1| DataRegion|Running|database1| 6| 6| 0.0.0.0| 6667| 127.0.0.1|Leader|2025-03-31T11:19:09.156+08:00| 3841|
+---------+-----------+------------+-------+---------+---------------+-------------+-----------+--------+----------------+------+-----------------------------+-----------------+
- 包含集群中所有正在执行的查询的信息。也可以使用
SHOW QUERIES
语法去查询。 - 表结构如下表所示:
列名 | 数据类型 | 列类型 | 说明 |
---|
query_id | STRING | TAG | ID |
start_time | TIMESTAMP | ATTRIBUTE | 查询开始的时间戳,时间戳精度与系统精度保持一致 |
datanode_id | INT32 | ATTRIBUTE | 发起查询的DataNode ID |
elapsed_time | FLOAT | ATTRIBUTE | 查询执行耗时,单位是秒 |
statement | STRING | ATTRIBUTE | 查询sql |
user | STRING | ATTRIBUTE | 发起查询的用户 |
IoTDB> select * from information_schema.queries
+-----------------------+-----------------------------+-----------+------------+----------------------------------------+----+
| query_id| start_time|datanode_id|elapsed_time| statement|user|
+-----------------------+-----------------------------+-----------+------------+----------------------------------------+----+
|20250331_023242_00011_1|2025-03-31T10:32:42.360+08:00| 1| 0.025|select * from information_schema.queries|root|
+-----------------------+-----------------------------+-----------+------------+----------------------------------------+----+
列名 | 数据类型 | 列类型 | 说明 |
---|
database | STRING | TAG | 数据库名称 |
table_name | STRING | TAG | 表名称 |
column_name | STRING | TAG | 列名称 |
datatype | STRING | ATTRIBUTE | 列的数值类型 |
category | STRING | ATTRIBUTE | 列类型 |
status | STRING | ATTRIBUTE | 列状态 |
comment | STRING | ATTRIBUTE | 列注释 |
说明: status 可能为USING
/PRE_DELETE
,具体见表管理中查看表的列的相关描述
用户只能查出自己有展示权限的 table
IoTDB> select * from information_schema.columns where database = 'database1'
+---------+----------+------------+---------+---------+------+-------+
| database|table_name| column_name| datatype| category|status|comment|
+---------+----------+------------+---------+---------+------+-------+
|database1| table1| time|TIMESTAMP| TIME| USING| null|
|database1| table1| region| STRING| TAG| USING| null|
|database1| table1| plant_id| STRING| TAG| USING| null|
|database1| table1| device_id| STRING| TAG| USING| null|
|database1| table1| model_id| STRING|ATTRIBUTE| USING| null|
|database1| table1| maintenance| STRING|ATTRIBUTE| USING| null|
|database1| table1| temperature| FLOAT| FIELD| USING| null|
|database1| table1| humidity| FLOAT| FIELD| USING| null|
|database1| table1| status| BOOLEAN| FIELD| USING| null|
|database1| table1|arrival_time|TIMESTAMP| FIELD| USING| null|
+---------+----------+------------+---------+---------+------+-------+
- 包含集群中所有 PIPE 的信息
- 表结构如下表所示:
列名 | 数据类型 | 列类型 | 说明 |
---|
id | STRING | TAG | Pipe 名称 |
creation_time | TIMESTAMP | ATTRIBUTE | 创建时间 |
state | STRING | ATTRIBUTE | Pipe 状态(RUNNING/STOPPED) |
pipe_source | STRING | ATTRIBUTE | source 插件参数 |
pipe_processor | STRING | ATTRIBUTE | processor 插件参数 |
pipe_sink | STRING | ATTRIBUTE | source 插件参数 |
exception_message | STRING | ATTRIBUTE | Exception 信息 |
remaining_event_count | INT64 | ATTRIBUTE | 剩余 event 数量,如果 Unknown 则为 -1 |
estimated_remaining_seconds | DOUBLE | ATTRIBUTE | 预估剩余时间,如果 Unknown 则为 -1 |
select * from information_schema.pipes
+----------+-----------------------------+-------+--------------------------------------------------------------------------+--------------+-----------------------------------------------------------------------+-----------------+---------------------+---------------------------+
| id| creation_time| state| pipe_source|pipe_processor| pipe_sink|exception_message|remaining_event_count|estimated_remaining_seconds|
+----------+-----------------------------+-------+--------------------------------------------------------------------------+--------------+-----------------------------------------------------------------------+-----------------+---------------------+---------------------------+
|tablepipe1|2025-03-31T12:25:24.040+08:00|RUNNING|{__system.sql-dialect=table, source.password=******, source.username=root}| {}|{format=hybrid, node-urls=192.168.xxx.xxx:6667, sink=iotdb-thrift-sink}| | 0| 0.0|
+----------+-----------------------------+-------+--------------------------------------------------------------------------+--------------+-----------------------------------------------------------------------+-----------------+---------------------+---------------------------+
- 包含集群中所有PIPE插件的信息
- 表结构如下表所示:
列名 | 数据类型 | 列类型 | 说明 |
---|
plugin_name | STRING | TAG | 插件名称 |
plugin_type | STRING | ATTRIBUTE | 插件类型(Builtin/External) |
class_name | STRING | ATTRIBUTE | 插件的主类名 |
plugin_jar | STRING | ATTRIBUTE | 插件的 jar 包名称,若为 builtin 类型则为 null |
IoTDB> select * from information_schema.pipe_plugins
+---------------------+-----------+-------------------------------------------------------------------------------------------------+----------+
| plugin_name|plugin_type| class_name|plugin_jar|
+---------------------+-----------+-------------------------------------------------------------------------------------------------+----------+
|IOTDB-THRIFT-SSL-SINK| Builtin|org.apache.iotdb.commons.pipe.agent.plugin.builtin.connector.iotdb.thrift.IoTDBThriftSslConnector| null|
| IOTDB-AIR-GAP-SINK| Builtin| org.apache.iotdb.commons.pipe.agent.plugin.builtin.connector.iotdb.airgap.IoTDBAirGapConnector| null|
| DO-NOTHING-SINK| Builtin| org.apache.iotdb.commons.pipe.agent.plugin.builtin.connector.donothing.DoNothingConnector| null|
| DO-NOTHING-PROCESSOR| Builtin| org.apache.iotdb.commons.pipe.agent.plugin.builtin.processor.donothing.DoNothingProcessor| null|
| IOTDB-THRIFT-SINK| Builtin| org.apache.iotdb.commons.pipe.agent.plugin.builtin.connector.iotdb.thrift.IoTDBThriftConnector| null|
| IOTDB-SOURCE| Builtin| org.apache.iotdb.commons.pipe.agent.plugin.builtin.extractor.iotdb.IoTDBExtractor| null|
+---------------------+-----------+-------------------------------------------------------------------------------------------------+----------+
列名 | 数据类型 | 列类型 | 说明 |
---|
topic_name | STRING | TAG | 订阅主题名称 |
consumer_group_name | STRING | TAG | 消费者组名称 |
subscribed_consumers | STRING | ATTRIBUTE | 订阅的消费者 |
IoTDB> select * from information_schema.subscriptions where topic_name = 'topic_1'
+----------+-------------------+--------------------------------+
|topic_name|consumer_group_name| subscribed_consumers|
+----------+-------------------+--------------------------------+
| topic_1| cg1|[c3, c4, c5, c6, c7, c0, c1, c2]|
+----------+-------------------+--------------------------------+
- 包含集群中所有数据订阅主题的信息
- 表结构如下表所示:
列名 | 数据类型 | 列类型 | 说明 |
---|
topic_name | STRING | TAG | 订阅主题名称 |
topic_configs | STRING | ATTRIBUTE | 订阅主题配置 |
IoTDB> select * from information_schema.topics
+----------+----------------------------------------------------------------+
|topic_name| topic_configs|
+----------+----------------------------------------------------------------+
| topic|{__system.sql-dialect=table, start-time=2025-01-10T17:05:38.282}|
+----------+----------------------------------------------------------------+
- 不支持通过
GRANT/REVOKE
语句对 information_schema
数据库及其下任何表进行权限操作 - 支持任意用户通过
show databases
语句查看information_schema
数据库相关信息 - 支持任意用户通过
show tables from information_schema
语句查看所有系统表相关信息 - 支持任意用户通过
desc
语句查看任意系统表 - 目前只支持
root
用户通过select
语句从系统表中查询数据,其他用户查询时展示空结果集