目录
information_schema_catalog_name
administrable_role_authorizations
applicable_roles
attributes
character_sets
check_constraint_routine_usage
check_constraints
collations
collation_character_set_applicability
column_column_usage
column_domain_usage
column_options
column_privileges
column_udt_usage
columns
constraint_column_usage
constraint_table_usage
data_type_privileges
domain_constraints
domain_udt_usage
domains
element_types
enabled_roles
foreign_data_wrapper_options
foreign_data_wrappers
foreign_server_options
foreign_servers
foreign_table_options
foreign_tables
key_column_usage
parameters
referential_constraints
role_column_grants
role_routine_grants
role_table_grants
role_udt_grants
role_usage_grants
routine_column_usage
routine_privileges
routine_routine_usage
routine_sequence_usage
routine_table_usage
routines
schemata
sequences
sql_features
sql_implementation_info
sql_parts
sql_sizing
table_constraints
table_privileges
tables
transforms
triggered_update_columns
triggers
udt_privileges
usage_privileges
user_defined_types
user_mapping_options
user_mappings
view_column_usage
view_routine_usage
view_table_usage
views
信息模式包含一组视图,这些视图包含有关当前数据库中定义的对象的信息。信息模式在 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
。
如果您在文档中看到任何不正确的内容,与您对特定功能的体验不符或需要进一步说明,请使用 此表格 报告文档问题。