34.57. user_defined_types

视图user_defined_types当前包含所有在当前数据库中定义的复合类型。 只有当前用户可以访问的类型才显示出来(通过成为其所有者或有某些权限)。

SQL知道两种用户定义的类型:结构化类型(在PostgreSQL中也成为复合类型) 和不同类型(在PostgreSQL中没有实现)。为了永不过时, 使用字段user_defined_type_category来区分它们。其他用户定义类型, 例如基础类型和枚举类型,是PostgreSQL的扩展,不在这里展示。 对于域,参阅第 34.22 节

表 34-55. user_defined_types 字段

名字数据类型描述
user_defined_type_catalogsql_identifier包含该类型的数据库名称(总是当前数据库)
user_defined_type_schemasql_identifier包含该类型的模式名称
user_defined_type_namesql_identifier类型名
user_defined_type_categorycharacter_data 当前总是STRUCTURED
is_instantiableyes_or_no适用于一个PostgreSQL中没有的特性
is_finalyes_or_no适用于一个PostgreSQL中没有的特性
ordering_formcharacter_data适用于一个PostgreSQL中没有的特性
ordering_categorycharacter_data适用于一个PostgreSQL中没有的特性
ordering_routine_catalogsql_identifier适用于一个PostgreSQL中没有的特性
ordering_routine_schemasql_identifier适用于一个PostgreSQL中没有的特性
ordering_routine_namesql_identifier适用于一个PostgreSQL中没有的特性
reference_typecharacter_data适用于一个PostgreSQL中没有的特性
data_typecharacter_data适用于一个PostgreSQL中没有的特性
character_maximum_lengthcardinal_number适用于一个PostgreSQL中没有的特性
character_octet_lengthcardinal_number适用于一个PostgreSQL中没有的特性
character_set_catalogsql_identifier适用于一个PostgreSQL中没有的特性
character_set_schemasql_identifier适用于一个PostgreSQL中没有的特性
character_set_namesql_identifier适用于一个PostgreSQL中没有的特性
collation_catalogsql_identifier适用于一个PostgreSQL中没有的特性
collation_schemasql_identifier适用于一个PostgreSQL中没有的特性
collation_namesql_identifier适用于一个PostgreSQL中没有的特性
numeric_precisioncardinal_number适用于一个PostgreSQL中没有的特性
numeric_precision_radixcardinal_number适用于一个PostgreSQL中没有的特性
numeric_scalecardinal_number适用于一个PostgreSQL中没有的特性
datetime_precisioncardinal_number适用于一个PostgreSQL中没有的特性
interval_typecharacter_data适用于一个PostgreSQL中没有的特性
interval_precisioncardinal_number适用于一个PostgreSQL中没有的特性
source_dtd_identifiersql_identifier适用于一个PostgreSQL中没有的特性
ref_dtd_identifiersql_identifier适用于一个PostgreSQL中没有的特性