Chapter 34. 信息模式

Table of Contents

  • 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 特定的视图查询它。

Note: 当查询数据库约束信息时,一个标准兼容的查询有可能返回一到多行。 这是因为在一个模式中SQL标准查询约束名是唯一的,但是PostgreSQL 并不强制这个约束。PostgreSQL 自动产生约束名避免在同一个模式中重复,但是用户可以指定重复的名字。

当查询信息模式视图(如check_constraint_routine_usage, check_constraints, domain_constraints,和 referential_constraints)时会出现这样的问题。 一些其他视图有相似的问题,但是包含表明以帮助辨别重复的行, 例如constraint_column_usage, constraint_table_usage, table_constraints