# 第 37 章信息模式

目录

37.1.架构

37.2.数据类型

37.3.information_schema_catalog_name

37.4.administrable_role_​授权

37.5.适用角色

37.6.属性

37.7.字符集

37.8.check_constraint_routine_usage

37.9.check_constraints

37.10.校对

37.11.collat​​ion_character_set_​适用性

37.12.column_column_usage

37.13.column_domain_usage

37.14.列选项

37.15.列特权

37.16.column_udt_usage

37.17.

37.18.约束列用法

37.19.约束表用法

37.20.数据类型特权

37.21.域约束

37.22.domain_udt_usage

37.23.

37.24.元素类型

37.25.启用角色

37.26.foreign_data_wrapper_options

37.27.foreign_data_wrappers

37.28.foreign_server_options

37.29.外国服务器

37.30.foreign_table_options

37.31.外国表

37.32.key_column_usage

37.33.参数

37.34.参考约束

37.35.role_column_grants

37.36.role_routine_grants

37.37.role_table_grants

37.38.role_udt_grants

37.39.role_usage_grants

37.40.routine_column_usage

37.41.例程特权

37.42.routine_routine_usage

37.43.routine_sequence_usage

37.44.routine_table_usage

37.45.例行公事

37.46.图式

37.47.序列

37.48.sql_features

37.49.sql_implementation_info

37.50.sql_parts

37.51.sql_sizing

37.52.表约束

37.53.表特权

37.54.

37.55.变换

37.56.触发更新列

37.57.触发器

37.58.udt_privilege

37.59.使用权限

37.60.用户定义类型

37.61.用户映射选项

37.62.用户映射

37.63.view_column_usage

37.64.view_routine_usage

37.65.view_table_usage

37.66.意见

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

# 笔记

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

查询信息架构视图时可能会出现此问题,例如check_constraint_routine_usage,check_constraints,域约束, 和参考约束.其他一些视图也有类似的问题,但包含表名以帮助区分重复行,例如,约束列用法,约束表用法,表约束.