第 37 章. 信息架构
目录
- 37.1. 架构
- 37.2. 数据类型
- 37.3.
information_schema_catalog_name - 37.4.
administrable_role_authorizations - 37.5.
applicable_roles - 37.6.
attributes - 37.7.
character_sets - 37.8.
check_constraint_routine_usage - 37.9.
check_constraints - 37.10.
collations - 37.11.
collation_character_set_applicability - 37.12.
column_column_usage - 37.13.
column_domain_usage - 37.14.
column_options - 37.15.
column_privileges - 37.16.
column_udt_usage - 37.17.
columns - 37.18.
constraint_column_usage - 37.19.
constraint_table_usage - 37.20.
data_type_privileges - 37.21.
domain_constraints - 37.22.
domain_udt_usage - 37.23.
domains - 37.24.
element_types - 37.25.
enabled_roles - 37.26.
foreign_data_wrapper_options - 37.27.
foreign_data_wrappers - 37.28.
foreign_server_options - 37.29.
foreign_servers - 37.30.
foreign_table_options - 37.31.
foreign_tables - 37.32.
key_column_usage - 37.33.
parameters - 37.34.
referential_constraints - 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.
routine_privileges - 37.42.
routine_routine_usage - 37.43.
routine_sequence_usage - 37.44.
routine_table_usage - 37.45.
routines - 37.46.
schemata - 37.47.
sequences - 37.48.
sql_features - 37.49.
sql_implementation_info - 37.50.
sql_parts - 37.51.
sql_sizing - 37.52.
table_constraints - 37.53.
table_privileges - 37.54.
tables - 37.55.
transforms - 37.56.
triggered_update_columns - 37.57.
triggers - 37.58.
udt_privileges - 37.59.
usage_privileges - 37.60.
user_defined_types - 37.61.
user_mapping_options - 37.62.
user_mappings - 37.63.
view_column_usage - 37.64.
view_routine_usage - 37.65.
view_table_usage - 37.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。
