VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

COLUMNS

包含有关数据库中所有表列(或视图列)的信息。不包括系统列(oid等)。仅显示当前用户有权访问的那些列(通过成为所有者或具有某些特权)。

由于数据类型可以在 SQL 中以多种方式定义,并且Vastbase包含定义数据类型的其他方法,因此它们在信息模式中的表示可能有些困难。

列data_type应该标识列的底层内置类型。在Vastbase中,这意味着类型是在系统目录模式pg_catalog中定义的。如果应用程序可以专门处理众所周知的内置类型(例如,以不同的方式格式化数字类型或使用精度列中的数据),则此列可能很有用。

udt_name、udt_schema和 udt_catalog列始终标识列的基础数据类型,即使列基于域。(由于Vastbase 将内置类型视为用户定义类型,因此此处也出现内置类型。这是 SQL 标准的扩展。)如果应用程序希望根据类型以不同方式处理数据,则应使用这些列,因为在这种情况下,列是否真的基于域并不重要。

如果列基于域,则域的标识存储在domain_name、domain_schema和domain_catalog列中。如果需要将列与其关联的数据类型配对并将域视为单独的类型,可以编写coalesce(domain_name, udt_name)等。

名称 数据类型 描述
table_catalog sql_identifier 包含表的数据库的名称(始终为当前数据库)。
table_schema sql_identifier 包含表的模式的名称。
table_name sql_identifier 表名。
column_name sql_identifier 列名。
ordinal_position cardinal_number 表中列的序号位置(计数从 1 开始)。
column_default character_data 列的默认表达式。
is_nullable yes_or_no 如果该列可能为空,则为YES ,如果已知它不可为空,则为NO 。非空约束是已知列不可为空的一种方式,但也可以有其他方式。
data_type character_data 列的数据类型,如果它是内置类型,或者 ARRAY如果它是某个数组(在这种情况下,请参阅视图element_types,否则为 USER-DEFINED(在这种情况下,类型在udt_name中标识并关联列)。如果该列基于域,则该列引用该域的基础类型(并且该域在domain_name和相关列中标识)。
character_maximum_length cardinal_number 如果data_type标识字符或位串类型,则声明最大长度;对于所有其他数据类型,或者如果没有声明最大长度,则为 null。
character_octet_length cardinal_number 如果data_type标识字符类型,则以八位字节(字节)为单位的数据的最大可能长度;所有其他数据类型为 null。最大八位字节长度取决于声明的字符最大长度(见上文)和服务器编码。
numeric_precision cardinal_number 如果data_type标识数字类型,则此列包含此列类型的(声明的或隐含的)精度。精度表示有效位数。它可以用十进制(以 10 为底)或二进制(以 2 为底)表示,如numeric_precision_radix列中指定的那样。对于所有其他数据类型,此列为空。
numeric_precision_radix cardinal_number 如果data_type标识数字类型,则此列指示numeric_precision和numeric_scale列中的值以哪个基表示。该值为 2 或 10。对于所有其他数据类型,此列为空。
numeric_scale cardinal_number 如果data_type标识了一个精确的数字类型,则此列包含此列的类型的(声明的或隐含的)比例。刻度表示小数点右侧的有效位数。它可以用十进制(以 10 为底)或二进制(以 2 为底)表示,如numeric_precision_radix列中指定的那样。对于所有其他数据类型,此列为空。
datetime_precision cardinal_number 如果data_type标识日期、时间、时间戳或间隔类型,则此列包含此列类型的(声明的或隐含的)小数秒精度,即秒值中小数点后保留的小数位数. 对于所有其他数据类型,此列为空。
interval_type character_data 如果data_type标识一个区间类型,则此列包含该列的区间包含哪些字段的规范,例如 YEAR TO MONTH、DAY TO SECOND等。如果未指定字段限制(即,区间接受所有字段),对于所有其他数据类型,此字段为空。
interval_precision cardinal_number 适用于Vastbase中不可用的功能(请参阅datetime_precision了解间隔类型列的小数秒精度)。
character_set_catalog sql_identifier 适用于Vastbase中不可用的功能。
character_set_schema sql_identifier 适用于Vastbase中不可用的功能。
character_set_name sql_identifier 适用于Vastbase中不可用的功能。
collation_catalog sql_identifier 包含列排序规则的数据库的名称(始终为当前数据库),默认为 null 或列的数据类型不可排序。
collation_schema sql_identifier 包含列排序规则的架构名称,默认为 null 或列的数据类型不可排序。
collation_name sql_identifier 列的排序规则名称,默认为 null 或列的数据类型不可排序。
domain_catalog sql_identifier 如果列具有域类型,则为定义域的数据库的名称(始终为当前数据库),否则为 null。
domain_schema sql_identifier 如果该列具有域类型,则为定义域的模式的名称,否则为 null。
domain_name sql_identifier 如果该列具有域类型,则为域的名称,否则为 null。
outt_catalog sql_identifier 定义列数据类型(域的基础类型,如果适用)的数据库的名称(始终为当前数据库)。
udt_schema sql_identifier 列数据类型(域的基础类型,如果适用)在其中定义的模式的名称。
udt_name sql_identifier 列数据类型的名称(域的基础类型,如果适用)。
scope_catalog sql_identifier 适用于Vastbase中不可用的功能。
scope_schema sql_identifier 适用于Vastbase中不可用的功能。
scope_name sql_identifier 适用于Vastbase中不可用的功能。
maximum_cardinality cardinal_number 始终为 null,因为数组在Vastbase中始终具有无限的最大基数。
dtd_identifier sql_identifier 列的数据类型描述符的标识符,在与表有关的数据类型描述符中唯一。这主要用于与此类标识符的其他实例连接。(标识符的具体格式没有定义,也不保证在以后的版本中保持不变)。
is_self_reference yes_or_no Vastbase中不可用的功能。
is_identity yes_or_no Vastbase中不可用的功能。
identity_generation character_data Vastbase中不可用的功能。
identity_start character_data Vastbase中不可用的功能。
identity_increment character_data Vastbase中不可用的功能。
identity_maximum character_data Vastbase中不可用的功能。
identity_minimum character_data Vastbase中不可用的功能。
identity_cycle yes_or_no Vastbase中不可用的功能。
is_generated character_data Vastbase中不可用的功能。
generation_expression character_data Vastbase中不可用的功能。
is_updateable yes_or_no YES如果列是可更新的,NO如果不是(基表中的列总是可更新的,视图中的列不一定)。