Chapter 3. 系統表

Table of Contents
3.1. 概述
3.2. pg_aggregate
3.3. pg_am
3.4. pg_amop
3.5. pg_amproc
3.6. pg_attrdef
3.7. pg_attribute
3.8. pg_cast
3.9. pg_class
3.10. pg_constraint
3.11. pg_conversion
3.12. pg_database
3.13. pg_depend
3.14. pg_description
3.15. pg_group
3.16. pg_index
3.17. pg_inherits
3.18. pg_language
3.19. pg_largeobject
3.20. pg_listener
3.21. pg_namespace
3.22. pg_opclass
3.23. pg_operator
3.24. pg_proc
3.25. pg_rewrite
3.26. pg_shadow
3.27. pg_statistic
3.28. pg_trigger
3.29. pg_type

3.1. 概述

系統表是關聯式資料庫存放結構元資料的地方, 比如表和欄位,以及內部登記資訊等. PostgreSQL 的系統表就是普通表. 你可以刪除然後重建這些表,增加列,插入和更新數值, 然後徹底把你的系統搞垮. 通常我們不應該手動修改系統表,通常總有 SQL 命令可以做這些事情. (比如,CREATE DATABASEpg_database 表插入一行 -- 並且實際上 在硬碟上建立該資料庫.) 有幾種特別深奧的操作例外,比如增加索引存取方法.

大多數系統表都是在資料庫建立的過程中從模版資料庫中拷貝過來的, 因此都是資料庫相關的。少數表是在整個安裝中物理上所有資料庫共享的﹔ 這些表在獨立的表的描述中用標記標出來了。

Table 3-1. 系統表

表名字表用途
pg_aggregate統計函數
pg_am索引存取方法
pg_amop存取方法運算子
pg_amproc存取方法支援過程
pg_attrdef欄位預設值
pg_attribute表的列("屬性""欄位"
pg_cast投影(資料類型轉換)
pg_class表,索引,序列("關系"
pg_constraint檢查約束,唯一/主鍵約束,外鍵約束
pg_conversion編碼轉換資訊
pg_database本集群內的資料庫
pg_depend資料庫物件之間的依賴性
pg_description資料庫物件的描述或註釋
pg_group資料庫使用者的組
pg_index附加的索引資訊
pg_inherits表繼承分級
pg_language用於寫函數的語言
pg_largeobject大物件
pg_listener異步通知
pg_namespace名字空間(樣式)
pg_opclass索引存取方法運算子表
pg_operator運算子
pg_proc函數和過程
pg_rewrite查詢重寫規則
pg_shadow資料庫使用者
pg_statistic最佳化器統計
pg_trigger觸發器
pg_type資料類型

每個表更詳細的資訊在下面列出。