章 34. 信息模式

目录
34.1. 关于这个模式
34.2. 数据类型
34.3. information_schema_catalog_name
34.4. administrable_role_authorizations
34.5. applicable_roles
34.6. attributes
34.7. character_sets
34.8. check_constraint_routine_usage
34.9. check_constraints
34.10. collations
34.11. collation_character_set_applicability
34.12. column_domain_usage
34.13. column_options
34.14. column_privileges
34.15. column_udt_usage
34.16. columns
34.17. constraint_column_usage
34.18. constraint_table_usage
34.19. data_type_privileges
34.20. domain_constraints
34.21. domain_udt_usage
34.22. domains
34.23. element_types
34.24. enabled_roles
34.25. foreign_data_wrapper_options
34.26. foreign_data_wrappers
34.27. foreign_server_options
34.28. foreign_servers
34.29. foreign_table_options
34.30. foreign_tables
34.31. key_column_usage
34.32. parameters
34.33. referential_constraints
34.34. role_column_grants
34.35. role_routine_grants
34.36. role_table_grants
34.37. role_udt_grants
34.38. role_usage_grants
34.39. routine_privileges
34.40. routines
34.41. schemata
34.42. sequences
34.43. sql_features
34.44. sql_implementation_info
34.45. sql_languages
34.46. sql_packages
34.47. sql_parts
34.48. sql_sizing
34.49. sql_sizing_profiles
34.50. table_constraints
34.51. table_privileges
34.52. tables
34.53. triggered_update_columns
34.54. triggers
34.55. udt_privileges
34.56. usage_privileges
34.57. user_defined_types
34.58. user_mapping_options
34.59. user_mappings
34.60. view_column_usage
34.61. view_routine_usage
34.62. view_table_usage
34.63. 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