52.11 pg_class
版本:11
目錄 pg_class 對資料表和大多數具有欄位或其他類似於資料表的內容進行彙整。 包括索引(但也參閱 pg_index)、序列(但請參閱 pg_sequence)、檢視表、具體化檢視表、複合型別和 TOAST 資料表;另請查看 relkind 欄位。以下,當我們指的是所有這些類型的物件時,我們都會說「關連(relation)」。 並非所有欄位對所有關連類型都有意義。
Table 52.11. pg_class
Columns
pg_class
Columns欄位
型別
參考
說明
oid
oid
資料列指標(隱藏屬性;必須明確選擇)
relname
name
資料表的名稱,索引,檢視表等
relfilenode
oid
此關連的磁碟檔案的名稱;零表示這是一個「映射」關連,其磁碟檔案名稱由底層狀態決定
relpages
int4
頁面(大小為 BLCKSZ)的磁碟表示形式的大小。這只是計劃程序使用的估算值。它由 VACUUM,ANALYZE 和一些 DDL 指令(如 CREATE INDEX)更新。
reltuples
float4
資料表中的資料列數。這只是計劃程序使用的估算值。它由VACUUM,ANALYZE 和一些 DDL 指令(如 CREATE INDEX)更新。
relallvisible
int4
在資料表的可見性映射中標記為全部可見的頁面數。這只是計劃程序使用的估算值。它由 VACUUM,ANALYZE 和一些 DDL 指令(如 CREATE INDEX)更新。
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。
relhasoids
bool
如果我們為關連的每一個資料列産生一個 OID,則為 True
relhaspkey
bool
如果資料表具有(或曾經有)主鍵,則為 True
relhassubclass
bool
如果資料表具有(或曾經有)任何繼承子項,則為 True
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)。
reloptions
text[]
存取方法的特定選項,為「keyword = value」字串
relpartbound
pg_node_tree
如果資料表是一個分割區(請參閱 relispartition),則綁定分割區的內部表示
pg_class 中的幾個布林欄位的維護是鬆散的:如果這是正確的狀態,那它們保證為 true,但是當條件不再為真時,可能不會立即重置為 false。例如,relhasindex 由CREATE INDEX 設定,但它永遠不會被 DROP INDEX 清除。相反地,如果 VACUUM 發現資料表沒有索引,則清除 relhasindex。這種安排避免了競爭條件並改善了一致性。
Last updated