pg_class記錄表、索引、序列、檢視等物件的資訊。
pg_class
名稱型別
引用描述
oid
oid
行識別符號
relname
name
表、索引、檢視等的名字
relnamespace
oid
pg_namespace.oid
包含該關係的名字空間的oid
reltype
oid
pg_type.oid
可能存在的錶行型別所對應資料型別的oid(對索引為0,索引沒有pg_type
項)
reloftype
oid
pg_type.oid
對於有型別的表,為底層組合型別的oid,對於其他所有關係為0
relowner
oid
pg_authid.oid
關係的擁有者
relam
oid
pg_am.oid
如果這是乙個表或者索引,表示索引使用的訪問方法(堆、b樹、雜湊等)
relfilenode
oid
該關係的磁碟檔案的名字,0表示這是乙個「對映」關係,其磁碟檔名取決於低層狀態
reltablespace
oid
pg_tablespace.oid
該關係所儲存的表空間。如果為0,使用資料庫的預設表空間。(如果關係無磁碟檔案時無意義)
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表將大屬性「線外」儲存在乙個二級表中。
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
關係中使用者列的數目(系統列不計算在內)。在pg_attribute
中必須有這麼多對應的項。另請參閱pg_attribute.attnum
。
relchecks
int2
表上check
約束的數目,參見pg_constraint
目錄
relhasrules
bool
如果表有(或曾有)規則則為真,參見pg_rewrite
目錄
relhastriggers
bool
如果表有(或曾有)觸發器則為真目錄
relhassubclass
bool
如果表或者索引有(或曾有)任何繼承子女則為真
relrowsecurity
bool
如果表上啟用了行級安全性則為真,參見pg_policy
目錄
relforcerowsecurity
bool
如果行級安全性(啟用時)也適用於表擁有者則為真,參見pg_policy
目錄
relispopulated
bool
如果表已被填充則為真(對於所有關係該列都為真,但對於某些物化檢視卻不是)
relreplident
char
用來為行形成「replica identity」的列:d
= 預設 (主鍵,如果存在),n
= 無,f
= 所有列i
= 索引的indisreplident
被設定或者為預設
relispartition
bool
如果表或索引是乙個分割槽,則為真
relrewrite
oid
pg_class.oid
對於在要求表重寫的ddl操作期間被寫入的新關係,這個域包含原始關係的oid,否則為0。那種狀態僅在內部可見,對於乙個使用者可見的關係這個域應該從不包含不是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表中的系統列
oid 物件id,預設是隱藏不顯示的,在建立表的時候使用了with oids會顯示這個列 select oid.from t test 錯誤 error column oid does not exist sql 狀態 42703 字元 8 create table t test id intege...
PG的規則系統
規則系統 規則系統 查詢重寫規劃的系統。從使用上說,規則系統上的一些功能也可以通過函式和觸發器來實現,但規則系統與觸發器完全不同,它是在執行前把使用者發過來的sql通過內部的規則定義改變成另乙個sql後再執行的一種方式 select規則 pg檢視是通過select規則實現的,建立檢視的命令 crea...
Ceph之PG數調整
目錄pg,placement groups。crush先將資料分解成一組物件,然後根據物件名稱 複製級別和系統中的pg數等資訊執行雜湊操作,再將結果生成pg id。可以將pg看做乙個邏輯容器,這個容器包含多個物件,同時這個邏輯物件對映之多個osd上。如果沒有pg,在成千上萬個osd上管理和跟蹤數百萬...