pg_class
#目錄 pg_class
描述了具有欄位或在其他方面與表格相似的表格和其他物件。這包括索引(但也請參閱 pg_index
)、序列(但也請參閱 pg_sequence
)、檢視、實體化檢視、複合類型和 TOAST 表格;請參閱 relkind
。 在下文中,當我們指的是所有這些物件種類時,我們會說到“關聯”。pg_class
的並非所有欄位對於所有關聯種類都有意義。
表 51.11. pg_class
欄位
欄位 類型 描述 |
---|
列識別碼 |
表格、索引、檢視等的名稱。 |
包含此關聯的命名空間的 OID |
與此表格的列類型對應的資料類型的 OID(如果有的話);索引、序列和 toast 表格為零,它們沒有 |
對於類型化表格,基礎複合類型的 OID;所有其他關聯為零 |
關聯的所有者 |
用於存取此表格或索引的存取方法。如果關聯是序列或沒有磁碟檔案,則沒有意義,但分割表格除外,在分割表格中,如果設定了此欄位,則在確定用於在未在建立指令中指定時建立的分割區的存取方法時,它會優先於 |
此關聯的磁碟檔案名稱;零表示這是一個“對應”的關聯,其磁碟檔案名稱由底層狀態確定 |
儲存此關聯的表格空間。如果為零,則表示資料庫的預設表格空間。如果關聯沒有磁碟檔案,則沒有意義,但分割表格除外,在分割表格中,這是將在未在建立指令中指定時建立分割區的表格空間。 |
此表格在磁碟上的表示形式的大小(以 |
資料表中實際存在的列數。這僅是規劃器使用的估計值。它會由 |
在資料表的可見性地圖中被標記為完全可見的頁面數量。這僅是規劃器使用的估計值。它會由 |
與此資料表相關聯的 TOAST 資料表的 OID,如果沒有則為零。TOAST 資料表在次要資料表中儲存大型屬性,亦即「行外」儲存。 |
如果這是一個資料表,並且它有(或最近有過)任何索引,則為 True |
如果此資料表在叢集中的所有資料庫之間共享,則為 True。只有某些系統目錄(例如 |
|
|
關係中的使用者欄位數量(不計算系統欄位)。在 |
資料表上 |
如果資料表具有(或曾經具有)規則,則為 True;請參閱 |
如果資料表具有(或曾經具有)觸發程序,則為 True;請參閱 |
如果資料表或索引具有(或曾經具有)任何繼承子資料表或分割區,則為 True |
如果資料表已啟用列層級安全性,則為 True;請參閱 |
如果列層級安全性(啟用時)也將套用至資料表擁有者,則為 True;請參閱 |
如果關係已填入(除了某些具體化視窗以外的所有關係都是如此),則為 True |
用於形成列的「複本識別」的欄位: |
如果資料表或索引是分割區,則為 True |
對於在需要資料表重寫的 DDL 操作期間寫入的新關係,此欄位包含原始關係的 OID;否則為零。該狀態僅在內部可見;對於使用者可見的關係,此欄位絕不應包含零以外的任何內容。 |
此資料表中,在此之前的所有交易 ID 都已替換為永久(「凍結」)交易 ID。這用於追蹤是否需要對資料表執行 vacuum,以防止交易 ID 繞回或允許縮小 |
此資料表中,在此之前的所有 multixact ID 都已替換為交易 ID。這用於追蹤是否需要對資料表執行 vacuum,以防止 multixact ID 繞回或允許縮小 |
存取權限;有關詳細資訊,請參閱第 5.8 節 |
存取方法特定的選項,格式為「keyword=value」字串 |
如果資料表是分割區(請參閱 |
pg_class
中的幾個布林旗標是以延遲方式維護的:如果正確的狀態為真,它們保證為真,但當條件不再為真時,可能不會立即重設為假。 例如,relhasindex
由 CREATE INDEX
設定,但從未由 DROP INDEX
清除。 相反,VACUUM
會在發現資料表沒有索引時清除 relhasindex
。 這種安排避免了競爭情況並提高了並發性。
如果您在文件中看到任何不正確、與特定功能不符或需要進一步澄清的內容,請使用此表單來報告文件問題。