34.57. user_defined_types

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

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

Table 34-55. user_defined_types 字段

名字 数据类型 描述
user_defined_type_catalog sql_identifier 包含该类型的数据库名称(总是当前数据库)
user_defined_type_schema sql_identifier 包含该类型的模式名称
user_defined_type_name sql_identifier 类型名
user_defined_type_category character_data 当前总是STRUCTURED
is_instantiable yes_or_no 适用于一个PostgreSQL中没有的特性
is_final yes_or_no 适用于一个PostgreSQL中没有的特性
ordering_form character_data 适用于一个PostgreSQL中没有的特性
ordering_category character_data 适用于一个PostgreSQL中没有的特性
ordering_routine_catalog sql_identifier 适用于一个PostgreSQL中没有的特性
ordering_routine_schema sql_identifier 适用于一个PostgreSQL中没有的特性
ordering_routine_name sql_identifier 适用于一个PostgreSQL中没有的特性
reference_type character_data 适用于一个PostgreSQL中没有的特性
data_type character_data 适用于一个PostgreSQL中没有的特性
character_maximum_length cardinal_number 适用于一个PostgreSQL中没有的特性
character_octet_length cardinal_number 适用于一个PostgreSQL中没有的特性
character_set_catalog sql_identifier 适用于一个PostgreSQL中没有的特性
character_set_schema sql_identifier 适用于一个PostgreSQL中没有的特性
character_set_name sql_identifier 适用于一个PostgreSQL中没有的特性
collation_catalog sql_identifier 适用于一个PostgreSQL中没有的特性
collation_schema sql_identifier 适用于一个PostgreSQL中没有的特性
collation_name sql_identifier 适用于一个PostgreSQL中没有的特性
numeric_precision cardinal_number 适用于一个PostgreSQL中没有的特性
numeric_precision_radix cardinal_number 适用于一个PostgreSQL中没有的特性
numeric_scale cardinal_number 适用于一个PostgreSQL中没有的特性
datetime_precision cardinal_number 适用于一个PostgreSQL中没有的特性
interval_type character_data 适用于一个PostgreSQL中没有的特性
interval_precision cardinal_number 适用于一个PostgreSQL中没有的特性
source_dtd_identifier sql_identifier 适用于一个PostgreSQL中没有的特性
ref_dtd_identifier sql_identifier 适用于一个PostgreSQL中没有的特性