Chapter 37.信息模式

目录

信息模式由一组视图组成,这些视图包含有关当前数据库中定义的对象的信息。信息模式是在 SQL 标准中定义的,因此可以预期是可移植的并保持稳定-与系统目录不同,后者是 PostgreSQL 特有的,是在考虑实现问题后进行建模的。但是,信息模式视图不包含有关 PostgreSQL 特定功能的信息。查询那些您需要查询系统目录或其他特定于 PostgreSQL 的视图。

Note

在数据库中查询约束信息时,符合标准的查询可能希望返回一行,而返回几行。这是因为 SQL 标准要求约束名称在模式中必须是唯一的,但是 PostgreSQL 并不强制执行此约束。 PostgreSQL 自动生成的约束名称避免了在同一模式下的重复,但是用户可以指定这样的重复名称。

查询诸如check_constraint_routine_usagecheck_constraintsdomain_constraintsreferential_constraints之类的信息架构视图时,可能会出现此问题。其他一些视图也有类似的问题,但是包含表名以帮助区分重复的行,例如constraint_column_usageconstraint_table_usagetable_constraints