Chapter 30. 訊息模式

Table of Contents
30.1. 關於這個模式
30.2. 資料類型
30.3. information_schema_catalog_name
30.4. applicable_roles
30.5. check_constraints
30.6. column_domain_usage
30.7. column_privileges
30.8. column_udt_usage
30.9. columns
30.10. constraint_column_usage
30.11. constraint_table_usage
30.12. data_type_privileges
30.13. domain_constraints
30.14. domain_udt_usage
30.15. domains
30.16. element_types
30.17. enabled_roles
30.18. key_column_usage
30.19. parameters
30.20. referential_constraints
30.21. role_column_grants
30.22. role_routine_grants
30.23. role_table_grants
30.24. role_usage_grants
30.25. routine_privileges
30.26. routines
30.27. schemata
30.28. sql_features
30.29. sql_implementation_info
30.30. sql_languages
30.31. sql_packages
30.32. sql_sizing
30.33. sql_sizing_profiles
30.34. table_constraints
30.35. table_privileges
30.36. tables
30.37. triggers
30.38. usage_privileges
30.39. view_column_usage
30.40. view_table_usage
30.41. views

訊息模式由一組視圖組成,它們包含有關目前資料庫裡定義的對象的 訊息。訊息模式時 SQL 標準裡定義的,因此可以認為是可以移植的, 並且是相對穩定的 — 和系統資料表不一樣,系統資料表是 PostgreSQL 特有的,是在實現的基礎上進行建模的。但訊息模式視圖不包含有關 PostgreSQL 特有的特性的訊息; 您可以利用它查詢有關係統資料表或者其它 PostgreSQL 相關的視圖。

30.1. 關於這個模式

訊息模式本身是一個叫 information_schema 的模式。 這個模式自動存在於所有資料庫中。這個模式的所有者是資料庫集群中的最初的資料庫用戶,並且這個用戶天然就擁有這個模式上的所有權限, 包括刪除它的權限(不過這麼干省下來的空間小的可憐)。

預設的時候,訊息模式不在模式搜索路徑中,因此,您需要用全稱來訪問裡面的所有對象。 因為訊息模式裡的一些對象的名字是可能在用戶應用中出現的普通名字,所以, 如果您想把訊息模式放在路徑中的話,那您一定要小心。