目录
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。
如果您在文档中发现任何不正确、与特定功能的体验不符或需要进一步澄清的内容,请使用此表单报告文档问题。