第 35 章 信息模式
目录
- 35.1. 模式
- 35.2. 数据类型
- 35.3.
information_schema_catalog_name - 35.4.
administrable_role_authorizations - 35.5.
applicable_roles - 35.6.
attributes - 35.7.
character_sets - 35.8.
check_constraint_routine_usage - 35.9.
check_constraints - 35.10.
collations - 35.11.
collation_character_set_applicability - 35.12.
column_column_usage - 35.13.
column_domain_usage - 35.14.
column_options - 35.15.
column_privileges - 35.16.
column_udt_usage - 35.17.
columns - 35.18.
constraint_column_usage - 35.19.
constraint_table_usage - 35.20.
data_type_privileges - 35.21.
domain_constraints - 35.22.
domain_udt_usage - 35.23.
domains - 35.24.
element_types - 35.25.
enabled_roles - 35.26.
foreign_data_wrapper_options - 35.27.
foreign_data_wrappers - 35.28.
foreign_server_options - 35.29.
foreign_servers - 35.30.
foreign_table_options - 35.31.
foreign_tables - 35.32.
key_column_usage - 35.33.
parameters - 35.34.
referential_constraints - 35.35.
role_column_grants - 35.36.
role_routine_grants - 35.37.
role_table_grants - 35.38.
role_udt_grants - 35.39.
role_usage_grants - 35.40.
routine_column_usage - 35.41.
routine_privileges - 35.42.
routine_routine_usage - 35.43.
routine_sequence_usage - 35.44.
routine_table_usage - 35.45.
routines - 35.46.
schemata - 35.47.
sequences - 35.48.
sql_features - 35.49.
sql_implementation_info - 35.50.
sql_parts - 35.51.
sql_sizing - 35.52.
table_constraints - 35.53.
table_privileges - 35.54.
tables - 35.55.
transforms - 35.56.
triggered_update_columns - 35.57.
triggers - 35.58.
udt_privileges - 35.59.
usage_privileges - 35.60.
user_defined_types - 35.61.
user_mapping_options - 35.62.
user_mappings - 35.63.
view_column_usage - 35.64.
view_routine_usage - 35.65.
view_table_usage - 35.66.
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。
报告文档问题
阅读 上游文档. 通过 PostgreSQL 文档反馈表单.