目錄pg_class記錄表和幾乎所有具有列或者像表的東西。這包括索引(但還要參見pg_index)、序列(但還要參見pg_sequence)、視圖、物化視圖、組合類別型和 TOAST 表,參見relkind。下面,當我們提及所有這些類型的對象時我們使用“關係”。並非所有列對於所有關聯類型都有意義。
列名稱 | 列類型 | 描述 |
|
| 行標識符。 |
|
| 表、索引、視圖等的名稱。 |
|
| 包含該關係的名字空間的OID。 |
|
| 可能存在的錶行類型所對應資料類型的OID(對索引為0,索引沒有 |
|
| 對於有類型的表,為底層組合類別型的OID,對於其他所有關係為0。 |
|
| 關係的擁有者。 |
|
| 如果這是一個表或者索引,表示索引使用的存取方法(堆、B樹、雜湊等)。 |
|
| 該關係的磁碟檔案的名字,0表示這是一個“映射”關係,其磁碟檔案名稱取決於低層狀態。 |
|
| 該關係所儲存的資料表空間。如果為0,使用資料庫的預設資料表空間。 |
|
| 該表磁碟表示的尺寸,以頁面計(頁面尺寸為 |
|
| 表中的存活行數。這隻是一個由規劃器使用的估計值。 它被 |
|
| 在表的可見度映射表中被標記為全可見的頁數。這隻是一個由規劃器使用的估計值。 它被 |
|
| 與該表相關聯的TOAST表的OID,如果沒有則為0。TOAST表將大屬性“線外”儲存在一個二級表中。 |
|
| 如果這是一個表並且其上建有(或最近建有)索引則為真。 |
|
| 如果該表在集簇中的所有資料庫間共用則為真。只有某些系統目錄(如 |
|
|
|
|
|
|
|
| 關係中使用者列的數目(系統列不計算在內)。 |
|
| 表上 |
|
| 如果表有(或曾有)規則則為真。 |
|
| 如果表有(或曾有)觸發器則為真。 |
|
| 如果表或索引具有(或曾經具有)任何繼承子項,則為真(True)。 |
|
| 如果表上啟用了行級安全性則為真。 |
|
| 如果行級安全性(啟用時)也適用於表擁有者則為真。 |
|
| 如果表已被填充則為真(對於所有關係該列都為真,但對於某些物化視圖卻不是)。 |
|
| 用來為行形成“replica identity”的列。取值範圍如下:
|
|
| 如果表或索引是一個分區,則為真。 |
|
| 對於在要求表中寫的DDL操作期間被寫入的新關係,這個域包含原始關係的OID,否則為0。 |
|
| 在此之前的所有事務ID在表中已經被替換為一個永久的(“凍結的”) 事務ID。 這用於跟蹤表是否需要被清理,以便阻止事務ID回卷或者允許 |
|
| 在此之前的多事務ID在表中已經被替換為一個事務ID。這被用於跟蹤表是否需要被清理,以阻止多事務ID回卷或者允許 |
|
| 存取權限。 |
|
| 存取方法相關的選項,以“keyword=value”字串形式表示。 |
|
| 如果表示一個分區(見 |
pg_class中的一些邏輯標誌被以一種懶惰的方式維護:在正確狀態時它們被保證為真,但是當條件不再為真時它們並不會被立刻重設為假。例如,relhasindex由CREATE INDEX設定,但它從不會被DROP INDEX清除。作為替代,VACUUM會在找到無索引表後清除其relhasindex。這種安排避免了競爭條件並且提高了並發性。