章 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_domain_usage
- 35.13. column_options
- 35.14. column_privileges
- 35.15. column_udt_usage
- 35.16. columns
- 35.17. constraint_column_usage
- 35.18. constraint_table_usage
- 35.19. data_type_privileges
- 35.20. domain_constraints
- 35.21. domain_udt_usage
- 35.22. domains
- 35.23. element_types
- 35.24. enabled_roles
- 35.25. foreign_data_wrapper_options
- 35.26. foreign_data_wrappers
- 35.27. foreign_server_options
- 35.28. foreign_servers
- 35.29. foreign_table_options
- 35.30. foreign_tables
- 35.31. key_column_usage
- 35.32. parameters
- 35.33. referential_constraints
- 35.34. role_column_grants
- 35.35. role_routine_grants
- 35.36. role_table_grants
- 35.37. role_udt_grants
- 35.38. role_usage_grants
- 35.39. routine_privileges
- 35.40. routines
- 35.41. schemata
- 35.42. sequences
- 35.43. sql_features
- 35.44. sql_implementation_info
- 35.45. sql_languages
- 35.46. sql_packages
- 35.47. sql_parts
- 35.48. sql_sizing
- 35.49. sql_sizing_profiles
- 35.50. table_constraints
- 35.51. table_privileges
- 35.52. tables
- 35.53. transforms
- 35.54. triggered_update_columns
- 35.55. triggers
- 35.56. udt_privileges
- 35.57. usage_privileges
- 35.58. user_defined_types
- 35.59. user_mapping_options
- 35.60. user_mappings
- 35.61. view_column_usage
- 35.62. view_routine_usage
- 35.63. view_table_usage
- 35.64. 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。