目录
information_schema_catalog_nameadministrable_role_authorizationsapplicable_rolesattributescharacter_setscheck_constraint_routine_usagecheck_constraintscollationscollation_character_set_applicabilitycolumn_column_usagecolumn_domain_usagecolumn_optionscolumn_privilegescolumn_udt_usagecolumnsconstraint_column_usageconstraint_table_usagedata_type_privilegesdomain_constraintsdomain_udt_usagedomainselement_typesenabled_rolesforeign_data_wrapper_optionsforeign_data_wrappersforeign_server_optionsforeign_serversforeign_table_optionsforeign_tableskey_column_usageparametersreferential_constraintsrole_column_grantsrole_routine_grantsrole_table_grantsrole_udt_grantsrole_usage_grantsroutine_column_usageroutine_privilegesroutine_routine_usageroutine_sequence_usageroutine_table_usageroutinesschematasequencessql_featuressql_implementation_infosql_partssql_sizingtable_constraintstable_privilegestablestransformstriggered_update_columnstriggersudt_privilegesusage_privilegesuser_defined_typesuser_mapping_optionsuser_mappingsview_column_usageview_routine_usageview_table_usageviews信息架构由一组视图组成,其中包含有关当前数据库中定义的对象的信息。信息架构在 SQL 标准中定义,因此可以预期它是可移植的并且保持稳定——与特定于 PostgreSQL 并且根据实现问题建模的系统目录不同。然而,信息架构视图不包含有关 PostgreSQL 特定功能的信息;要查询这些信息,您需要查询系统目录或其他 PostgreSQL 特定视图。
在查询数据库以获取约束信息时,期望返回一行的标准兼容查询可能会返回多行。这是因为 SQL 标准要求约束名称在架构内唯一,但 PostgreSQL 并未强制执行此限制。PostgreSQL 自动生成的约束名称避免在同一架构中出现重复,但用户可以指定此类重复名称。
在查询信息架构视图(例如 check_constraint_routine_usage、check_constraints、domain_constraints 和 referential_constraints)时,可能会出现此问题。一些其他视图也有类似的问题,但包含表名称以帮助区分重复行,例如 constraint_column_usage、constraint_table_usage、table_constraints。
如果您在文档中看到任何不正确、与您对特定功能的体验不符或需要进一步澄清的内容,请使用 此表单 报告文档问题。