信息模式由一组视图组成,它们包含有关当前数据库里定义的对象的信息。 信息模式是 SQL 标准里定义的,因此可以认为是可以移植的,并且是相对稳定的— 和系统表不一样,系统表是PostgreSQL特有的, 是在实现的基础上进行建模的。但信息模式视图不包含有关PostgreSQL 特有的特性的信息;你可以查询系统表或者其它PostgreSQL 特定的视图查询它。
Note: 当查询数据库约束信息时,一个标准兼容的查询有可能返回一到多行。 这是因为在一个模式中SQL标准查询约束名是唯一的,但是PostgreSQL 并不强制这个约束。PostgreSQL 自动产生约束名避免在同一个模式中重复,但是用户可以指定重复的名字。
当查询信息模式视图(如check_constraint_routine_usage, check_constraints, domain_constraints,和 referential_constraints)时会出现这样的问题。 一些其他视图有相似的问题,但是包含表明以帮助辨别重复的行, 例如constraint_column_usage, constraint_table_usage, table_constraints。