2024 年 9 月 26 日: PostgreSQL 17 发布!
支持版本:当前 (17) / 16 / 15 / 14 / 13 / 12
开发版本:devel
不支持的版本:11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4

第 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_usagecheck_constraintsdomain_constraintsreferential_constraints)时,可能会出现此问题。一些其他视图也存在类似问题,但包含表名以帮助区分重复行,例如 constraint_column_usageconstraint_table_usagetable_constraints

提交更正

如果您在文档中看到任何不正确的内容,与您对特定功能的体验不符或需要进一步说明,请使用 此表格 报告文档问题。