Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16

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