全部產品
Search
文件中心

PolarDB:pg_class

更新時間:Jul 06, 2024

目錄pg_class記錄表和幾乎所有具有列或者像表的東西。這包括索引(但還要參見pg_index)、序列(但還要參見pg_sequence)、視圖、物化視圖、組合類別型和 TOAST 表,參見relkind。下面,當我們提及所有這些類型的對象時我們使用“關係”。並非所有列對於所有關聯類型都有意義。

列名稱

列類型

描述

oid

oid

行標識符。

relname

name

表、索引、視圖等的名稱。

relnamespace

oid

包含該關係的名字空間的OID。

reltype

oid

可能存在的錶行類型所對應資料類型的OID(對索引為0,索引沒有pg_type項)。

reloftype

oid

對於有類型的表,為底層組合類別型的OID,對於其他所有關係為0。

relowner

oid

關係的擁有者。

relam

oid

如果這是一個表或者索引,表示索引使用的存取方法(堆、B樹、雜湊等)。

relfilenode

oid

該關係的磁碟檔案的名字,0表示這是一個“映射”關係,其磁碟檔案名稱取決於低層狀態。

reltablespace

oid

該關係所儲存的資料表空間。如果為0,使用資料庫的預設資料表空間。

relpages

int4

該表磁碟表示的尺寸,以頁面計(頁面尺寸為BLCKSZ)。這隻是一個由規劃器使用的估計值。 它被VACUUMANALYZE以及一些DDL命令(如CREATE INDEX)所更新。

reltuples

float4

表中的存活行數。這隻是一個由規劃器使用的估計值。 它被VACUUMANALYZE以及一些DDL命令(如CREATE INDEX)所更新。

relallvisible

int4

在表的可見度映射表中被標記為全可見的頁數。這隻是一個由規劃器使用的估計值。 它被VACUUMANALYZE以及一些DDL命令(如CREATE INDEX)所更新。

reltoastrelid

oid

與該表相關聯的TOAST表的OID,如果沒有則為0。TOAST表將大屬性“線外”儲存在一個二級表中。

relhasindex

bool

如果這是一個表並且其上建有(或最近建有)索引則為真。

relisshared

bool

如果該表在集簇中的所有資料庫間共用則為真。只有某些系統目錄(如pg_database)是共用的。

relpersistence

char

  • p:永久表。

  • u:無日誌表。

  • t :暫存資料表。

relkind

char

  • r:普通表。

  • i :索引。

  • S:序列。

  • t:TOAST表。

  • v:視圖。

  • m: 物化視圖。

  • c:組合類別型。

  • f:外部表格。

  • p:分區表。

  • I :分區索引。

relnatts

int2

關係中使用者列的數目(系統列不計算在內)。

relchecks

int2

表上CHECK約束的數目。

relhasrules

bool

如果表有(或曾有)規則則為真。

relhastriggers

bool

如果表有(或曾有)觸發器則為真。

relhassubclass

bool

如果表或索引具有(或曾經具有)任何繼承子項,則為真(True)。

relrowsecurity

bool

如果表上啟用了行級安全性則為真。

relforcerowsecurity

bool

如果行級安全性(啟用時)也適用於表擁有者則為真。

relispopulated

bool

如果表已被填充則為真(對於所有關係該列都為真,但對於某些物化視圖卻不是)。

relreplident

char

用來為行形成“replica identity”的列。取值範圍如下:

  • d:預設(主鍵,如果存在)。

  • n:無。

  • f:所有列 。

  • i:索引的indisreplident被設定或者為預設。

relispartition

bool

如果表或索引是一個分區,則為真。

relrewrite

oid

對於在要求表中寫的DDL操作期間被寫入的新關係,這個域包含原始關係的OID,否則為0。

relfrozenxid

xid

在此之前的所有事務ID在表中已經被替換為一個永久的(“凍結的”) 事務ID。 這用於跟蹤表是否需要被清理,以便阻止事務ID回卷或者允許pg_xact被收縮。 如果該關係不是一個表則為0(InvalidTransactionId)。

relminmxid

xid

在此之前的多事務ID在表中已經被替換為一個事務ID。這被用於跟蹤表是否需要被清理,以阻止多事務ID回卷或者允許pg_multixact被收縮。如果關係不是一個表則為0(InvalidMultiXactId)。

relacl

aclitem[]

存取權限。

reloptions

text[]

存取方法相關的選項,以“keyword=value”字串形式表示。

relpartbound

pg_node_tree

如果表示一個分區(見relispartition),分區邊界的內部表達。

pg_class中的一些邏輯標誌被以一種懶惰的方式維護:在正確狀態時它們被保證為真,但是當條件不再為真時它們並不會被立刻重設為假。例如,relhasindexCREATE INDEX設定,但它從不會被DROP INDEX清除。作為替代,VACUUM會在找到無索引表後清除其relhasindex。這種安排避免了競爭條件並且提高了並發性。