版本:11
目錄 pg_class 對資料表和大多數具有欄位或其他類似於資料表的內容進行彙整。 包括索引(但也參閱 pg_index)、序列(但請參閱 pg_sequence)、檢視表、具體化檢視表、複合型別和 TOAST 資料表;另請查看 relkind 欄位。以下,當我們指的是所有這些類型的物件時,我們都會說「關連(relation)」。 並非所有欄位對所有關連類型都有意義。
pg_class
Columnspg_class 中的幾個布林欄位的維護是鬆散的:如果這是正確的狀態,那它們保證為 true,但是當條件不再為真時,可能不會立即重置為 false。例如,relhasindex 由CREATE INDEX 設定,但它永遠不會被 DROP INDEX 清除。相反地,如果 VACUUM 發現資料表沒有索引,則清除 relhasindex。這種安排避免了競爭條件並改善了一致性。
欄位
型別
參考
說明
oid
oid
資料列指標(隱藏屬性;必須明確選擇)
relname
name
資料表的名稱,索引,檢視表等
relnamespace
oid
pg_namespace
.oid
包含此關連命名空間的 OID
reltype
oid
pg_type
.oid
與此資料表的資料列類型對應資料型別的OID(如果有)(索引為零,因為沒有 pg_type 項目)
reloftype
oid
pg_type
.oid
對於複合型別資料表,底層複合型別的 OID,對於所有其他關連的值為零
relowner
oid
pg_authid
.oid
關連的所有者
relam
oid
pg_am
.oid
如果這是索引,則為使用存取的方法(B-tree,hash 等)
relfilenode
oid
此關連的磁碟檔案的名稱;零表示這是一個「映射」關連,其磁碟檔案名稱由底層狀態決定
reltablespace
oid
pg_tablespace
.oid
儲存此關連的資料表空間。如果為零,則隱含資料庫的預設資料表空間。(如果關連沒有磁碟檔案,則沒有意義。)
relpages
int4
頁面(大小為 BLCKSZ)的磁碟表示形式的大小。這只是計劃程序使用的估算值。它由 VACUUM,ANALYZE 和一些 DDL 指令(如 CREATE INDEX)更新。
reltuples
float4
資料表中的資料列數。這只是計劃程序使用的估算值。它由VACUUM,ANALYZE 和一些 DDL 指令(如 CREATE INDEX)更新。
relallvisible
int4
在資料表的可見性映射中標記為全部可見的頁面數。這只是計劃程序使用的估算值。它由 VACUUM,ANALYZE 和一些 DDL 指令(如 CREATE INDEX)更新。
reltoastrelid
oid
pg_class
.oid
與此資料表關連的 TOAST 資料表的OID,如果沒有,則為0。TOAST 資料表在輔助資料表中儲存“out of line”的大型屬性。
relhasindex
bool
如果這是一個資料表並且它有(或最近有)任何索引,則為 True
relisshared
bool
如果此資料表在叢集中的所有資料庫之間共享,則為 True。只有某些系統目錄共享(例如 pg_database)。
relpersistence
char
p = 永久資料表,u = 無日誌資料,t = 臨時資料表
relkind
char
r = 普通資料表,i = 索引,S = 序列,t = TOAST 資料表,v = 檢視表,m = 具體化檢視表,c = 複合型別,f = 外部資料表,p = 分割資料表
relnatts
int2
關連中的用戶欄位數(系統欄位未計算)。pg_attribute 中必須有這麼多對應的項目。另請參閱 pg_attribute.attnum。
relchecks
int2
資料表上的 CHECK 限制條件數目;請參閱 pg_constraint 目錄
relhasoids
bool
如果我們為關連的每一個資料列産生一個 OID,則為 True
relhaspkey
bool
如果資料表具有(或曾經有)主鍵,則為 True
relhasrules
bool
如果資料表有(或曾經有)rule,則為 true;請參閱 pg_rewrite 目錄
relhastriggers
bool
如果資料表具有(或曾經有)觸發器,則為 True;請參閱 pg_trigger 目錄
relhassubclass
bool
如果資料表具有(或曾經有)任何繼承子項,則為 True
relrowsecurity
bool
如果資料表啟用了資料列級安全性,則為 True;請參閱 pg_policy 目錄
relforcerowsecurity
bool
如果資料列級別安全性(啟用時)也適用於資料表擁有者,則為 True;請參閱 pg_policy 目錄
relispopulated
bool
如果關連充入了資料,則為 True(除了某些具體化檢視表之外的所有關連都是 True)
relreplident
char
用於為資料列形成“replica identity”的欄位:d = 預設(主鍵,如果有),n = 無,f = 所有列,i = 具有 indisreplident 設定的索引,或預設值
relispartition
bool
True if table is a partition
relfrozenxid
xid
此資料表之前的所有事務 ID 都已替換為此資料表中的永久(“frozen”)事務 ID。這用於追踪資料表是否需要被清理以防止事務 ID 重覆或讓 pg_xact 縮小。如果關連不是資料表,則為零(InvalidTransactionId)。
relminmxid
xid
此資料表之前的所有 multixact ID 都已被此資料表中的事務 ID 替換。這用於追踪表是否需要被清理以防止多重 ID 重覆或使 pg_multixact 縮小。如果關連不是資料表,則為零(InvalidMultiXactId)。
relacl
aclitem[]
reloptions
text[]
存取方法的特定選項,為「keyword = value」字串
relpartbound
pg_node_tree
如果資料表是一個分割區(請參閱 relispartition),則綁定分割區的內部表示