跳至主要內容

KlustronDB大约 2 分钟

第 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_domain_usage

37.13. column_options

37.14. column_privileges

37.15. column_udt_usage

37.16. columns

37.17. constraint_column_usage

37.18. constraint_table_usage

37.19. data_type_privileges

37.20. domain_constraints

37.21. domain_udt_usage

37.22. domains

37.23. element_types

37.24. enabled_roles

37.25. foreign_data_wrapper_options

37.26. foreign_data_wrappers

37.27. foreign_server_options

37.28. foreign_servers

37.29. foreign_table_options

37.30. foreign_tables

37.31. key_column_usage

37.32. parameters

37.33. referential_constraints

37.34. role_column_grants

37.35. role_routine_grants

37.36. role_table_grants

37.37. role_udt_grants

37.38. role_usage_grants

37.39. routine_privileges

37.40. routines

37.41. schemata

37.42. sequences

37.43. sql_features

37.44. sql_implementation_info

37.45. sql_languages

37.46. sql_packages

37.47. sql_parts

37.48. sql_sizing

37.49. sql_sizing_profiles

37.50. table_constraints

37.51. table_privileges

37.52. tables

37.53. transforms

37.54. triggered_update_columns

37.55. triggers

37.56. udt_privileges

37.57. usage_privileges

37.58. user_defined_types

37.59. user_mapping_options

37.60. user_mappings

37.61. view_column_usage

37.62. view_routine_usage

37.63. view_table_usage

37.64. views

信息模式由一组视图构成,它们包含定义在当前数据库中对象的信息。信息模式以 SQL 标准定义,因此能够被移植并且保持稳定 — 系统目录则不同,它们是与PostgreSQL相关的并且是为了实现的考虑而建模的。不过,信息模式视图不包含与PostgreSQL-相关特性有关的信息。要咨询那些信息你需要查询系统目录或其他PostgreSQL-相关视图。

注意

当在数据库中查询约束信息时,一个期望返回一行的标准兼容的查询可能返回多行。这是因为 SQL 标准要求约束名在一个模式中唯一,但是PostgreSQL并不强制这种限制。PostgreSQL自动产生的约束名避免在相同的模式中重复,但是用户能够指定这种重复的名称。

这个问题可能在查询信息模式视图时出现,例如check_constraint_routine_usagecheck_constraintsdomain_constraintsreferential_constraints。一些其他视图也有相似的问题,但是它们包含了表名来帮助区分重复行,例如constraint_column_usageconstraint_table_usagetable_constraints