KEY_COLUMN_USAGE

KEY_COLUMN_USAGE 表描述列的键约束,例如时间索引键的约束。

1. USE INFORMATION_SCHEMA;
2. DESC KEY_COLUMN_USAGE;

结果如下:

1. +-------------------------------+--------+------+------+---------+---------------+
2. | Column                        | Type   | Key  | Null | Default | Semantic Type |
3. +-------------------------------+--------+------+------+---------+---------------+
4. | constraint_catalog            | String |      | NO   |         | FIELD         |
5. | constraint_schema             | String |      | NO   |         | FIELD         |
6. | constraint_name               | String |      | NO   |         | FIELD         |
7. | table_catalog                 | String |      | NO   |         | FIELD         |
8. | real_table_catalog            | String |      | NO   |         | FIELD         |
9. | table_schema                  | String |      | NO   |         | FIELD         |
10. | table_name                    | String |      | NO   |         | FIELD         |
11. | column_name                   | String |      | NO   |         | FIELD         |
12. | ordinal_position              | UInt32 |      | NO   |         | FIELD         |
13. | position_in_unique_constraint | UInt32 |      | YES  |         | FIELD         |
14. | referenced_table_schema       | String |      | YES  |         | FIELD         |
15. | referenced_table_name         | String |      | YES  |         | FIELD         |
16. | referenced_column_name        | String |      | YES  |         | FIELD         |
17. +-------------------------------+--------+------+------+---------+---------------+
1. SELECT * FROM key_column_usage WHERE table_schema='public' and table_name='monitor'\G
1. *************************** 1. row ***************************
2. constraint_catalog: def
3. constraint_schema: public
4. constraint_name: TIME INDEX
5. table_catalog: def
6. real_table_catalog: greptime
7. table_schema: public
8. table_name: monitor
9. column_name: ts
10. ordinal_position: 1
11. position_in_unique_constraint: NULL
12. referenced_table_schema: NULL
13. referenced_table_name: NULL
14. referenced_column_name: NULL
15. *************************** 2. row ***************************
16. constraint_catalog: def
17. constraint_schema: public
18. constraint_name: PRIMARY
19. table_catalog: def
20. real_table_catalog: greptime
21. table_schema: public
22. table_name: monitor
23. column_name: host
24. ordinal_position: 1
25. position_in_unique_constraint: NULL
26. referenced_table_schema: NULL
27. referenced_table_name: NULL
28. referenced_column_name: NULL
29. 2 rows in set (0.02 sec)

KEY_COLUMN_USAGE 表中列的描述如下:

  • constraint_catalog:约束所属的目录名称。该值始终为 def。
  • constraint_schema:约束所属的数据库名称。
  • constraint_name:约束的名称。
  • table_catalog:表所属目录的名称。该值始终为 def。
  • real_table_catalog:表所属目录的真实名称。该值始终为 greptime。
  • table_schema:表所属的数据库名称。
  • table_name:具有约束的表的名称。
  • column_name:具有约束的列的名称。
  • ordinal_position:列在约束中的位置,而不是在表中的位置。位置编号从 1 开始。
  • position_in_unique_constraint:唯一约束和主键约束为空。对于外键约束,此列是引用表键的位置。
  • referenced_table_schema:约束引用的数据库名称。目前在 GreptimeDB 中,除外键约束外,所有约束中此列的值均为 NULL。
  • referenced_table_name:约束引用的表名称。目前在 GreptimeDB 中,除外键约束外,所有约束中此列的值均为 NULL。
  • referenced_column_name:约束引用的列名称。目前在 GreptimeDB 中,除外键约束外,所有约束中此列的值均为 NULL。