天天看點

gaussdb 系統表和視圖【PG_*】【04】

PG_ATTRDEF

存儲列的預設值。

名稱 類型 描述
ADRELID OID 該列的所屬表
ADNUM INTEGER 該列的數目
ADBIN PG_NODE_TREE 字段預設值的内部表現形式
ADSRC TEXT 人類可讀的預設值的内部表現形式

PG_ATTRIBUTE

存儲表關于表字段的資訊。

名稱 類型 描述
ATTRELID OID 此字段所屬表。
ATTNAME NAME 字段名。
ATTTYPID OID 字段類型。
ATTSTATTARGET INTEGER

控制ANALYZE為這個字段積累的統計細節的級别。

零值表示不收集統計資訊。

負數表示使用系統預設的統計對象。

正數值的确切資訊是和資料類型相關的。

對于标量資料類型,ATTSTATTARGET既是要收集的"最常用數值"的目标數目,也是要建立的柱狀圖的目标數量。

ATTLEN SMALLINT 是本字段類型的pg_type.typlen的拷貝。
ATTNUM SMALLINT 字段數目。
ATTNDIMS INTEGER 如果該字段是數組,則是維數,否則是0 。
ATTCACHEOFF INTEGER 在磁盤上的時候總是-1 ,但是如果加載入記憶體中的行描述器中,它可能會被更新以緩沖在行中字段的偏移量。
ATTTYPMOD INTEGER 記錄建立新表時支援的類型特定的資料(比如一個varchar字段的最大長度)。它傳遞給類型相關的輸入和長度轉換函數當做第三個參數。其值對那些不需要ATTTYPMOD的類型通常為-1。
ATTBYVAL BOOLEAN 這個字段類型的pg_type.typbyval的拷貝。
ATTSTORAGE "CHAR" 這個字段類型的pg_type.typstorage的拷貝。
ATTALIGN "CHAR" 這個字段類型的pg_type.typalign的拷貝。
ATTNOTNULL BOOLEAN 這代表一個非空限制。可以改變這個字段以打開或者關閉這個限制。
ATTHASDEF BOOLEAN 這個字段有一個預設值,此時它對應pg_attrdef表裡實際定義此值的記錄。
ATTISDROPED BOOLEAN 這個字段已經被删除了,不再有效。一個已經删除的字段實體上仍然存在表中,但會被分析器忽略,是以不能再通過SQL通路。
ATTISLOCAL BOOLEAN 這個字段是局部定義在關系中的。請注意一個字段可以同時是局部定義和繼承的。
ATTINHCOUNT PG_ATTRIBUTE 這個字段所擁有的直接祖先的個數。如果一個字段的祖先個數非零,則它就不能被删除或重命名。
ATTCOLLATION OID 對此列定義的校對列。
ATTACL ACLITEM[] 列級通路權限控制。
ATTOPTIONS TEXT[] 屬性級可選項。
ATTFDWOPTIONS TEXT[] 屬性級外資料選項。

PG_AUTHID

存儲有關資料庫認證辨別符(角色)的資訊。

名稱 類型 描述
ROLNAME NAME 角色名稱。
ROLSUPER BOOLEAN 角色是否擁有系統管理者權限。
ROLINHERIT BOOLEAN 角色是否自動繼承其所屬角色的權限。
ROLCREATEROLE BOOLEAN 角色是否可以建立更多角色。
ROLCREATEDB BOOLEAN 角色是否可以建立資料庫。
ROLCATUPDATE BOOLEAN 角色是否可以直接更新系統表。如果沒有設定這個字段為真,即使系統管理者也不能這麼做。
ROLCANLOGIN BOOLEAN 角色是否可以登入,也就是說,這個角色可以給予會話認證辨別符。
ROLREPLICATION BOOLEAN 角色是一個複制的角色(适配作用,沒有實際的功能)。
ROLAUDITADMIN BOOLEAN 審計使用者。
ROLCONNLIMIT INTEGER

對于可以登入的角色,限制其最大并發連接配接數量。

-1 表示沒有限制。

ROLPASSWORD TEXT 密碼(可能是加密的),如果沒有密碼,則為NULL。
ROLVALIDUNTIL TIMESTAMP WITH TIME ZONE 密碼失效時間(隻用于密碼認證),如果沒有失效期,則為NULL。
ROLCONFIG TEXT[] 運作時配置變量的會話預設。

PG_AUTH_MEMBERS

存儲顯示角色之間的成員關系。

名稱 類型 描述
ROLEID OID 擁有成員的角色ID。
MEMBER OID 屬于ROLEID角色的一個成員的角色ID。
GRANTOR OID 賦予此成員關系的角色ID。
ADMIN_OPTION BOOLEAN 如果MEMBER可以把ROLEID角色的成員關系賦予其他角色,則為真。

PG_CLASS

存儲資料庫對象資訊及其之間的關系。

名稱 類型 描述
RELNAME NAME 表、索引、視圖等對象的名字。
RELNAMESPACE OID 包含這個關系的名字空間的OID。
RELTYPE OID 對應這個表的行類型的資料類型(索引為零,因為索引沒有pg_type記錄)。
RELOWNER OID 關系所有者。
RELAM OID 如果行是索引,則就是所用的通路模式(B-tree,hash等)。
RELFILENODE OID 這個關系在磁盤上的檔案的名稱,如果沒有則為0。
RELTABLESPACE OID 這個關系存儲所在的表空間。如果為零,則意味着使用該資料庫的預設表空間。如果關系在磁盤上沒有檔案,則這個字段沒有什麼意義。
RELPAGES INTEGER 以頁(大小為BLCKSZ)為機關的此表在磁盤上的大小,它隻是規劃器用的一個近似值。
RELTUPLES REAL 表中行的數目,隻是規劃器使用的一個估計值。
RELTOASTRELID OID

與此表關聯的TOAST表的OID ,如果沒有則為0。

TOAST表在一個從屬表裡“離線”存儲大字段。

RELTOASTIDXID OID 對于TOAST表是它的索引的OID,如果不是TOAST表則為0。
RELHASINDEX BOOLEAN

如果它是一個表而且至少有(或者最近有過)一個索引,則為真。

它是由CREATE INDEX設定的,但DROP INDEX不會立即将它清除。如果VACUUM程序檢測一個表沒有索引,将會把它将清理relhasindex字段,将值設定為假。

RELISSHARED BOOLEAN 如果該表在整個叢集中由所有資料庫共享則為真。隻有某些系統表(比如pg_database)是共享的。
RELKIND CHAR

r=普通表

i=索引

S=序列

v=視圖

c=複合類型

t=TOAST表

RELNATTS SMALLINT 關系中使用者字段數目(除了系統字段以外)。在pg_attribute裡肯定有相同數目對應行。
RELCHECKS SMALLINT 表裡的檢查限制的數目;參閱pg_constraint表。
RELTRIGGERS SMALLINT 表裡的觸發器的數目;參閱pg_trigger表。
RELUKEYS SMALLINT 未使用(不是唯一值的數目)。
RELFKEYS SMALLINT 未使用(不是表中外鍵的數目)。
RELREFS SMALLINT 未使用。
RELHASOIDS BOOLEAN 如果為關系中每行都生成一個OID則為真。
RELHASPKEY BOOLEAN 如果這個表有一個(或者曾經有一個)主鍵,則為真。
RELHASRULES BOOLEAN 如表有規則就為真。是否有規則可參考系統表PG_REWRITE。
RELHASSUBCLASS BOOLEAN 如果有(或者曾經有)任何繼承的子表,為真。
RELROWMOVEMENT BOOLEAN

針對分區表進行update操作時,是否允許行遷移。

true:表示允許行遷移。

false:表示不允許行遷移。

RELFROZENXID XID 該表中所有在這個之前的事務ID已經被一個固定的("frozen")事務ID替換。這個字段用于跟蹤該表是否需要為了防止事務ID重疊(或者允許收縮pg_clog)而進行清理。如果該關系不是表則為零(InvalidTransactionId)。
RELACL ACLITEM[] 通路權限。參閱GRANT和REVOKE擷取詳細資訊。
RELOPTIONS TEXT[] 索引的通路方法,使用"keyword=value"格式的字元串。

PG_CONSTRAINT

存儲表上的檢查限制、主鍵、唯一限制和外鍵限制。

名稱 類型 描述
CONNAME NAME 限制名字(不一定是唯一的)。
CONNAMESPACE OID 包含這個限制的名字空間的OID。
CONTYPE "CHAR"

c = 檢查限制

f = 外鍵限制

p = 主鍵限制

u = 唯一限制

CONDEFERRABLE BOOLEAN 這個限制是否可以推遲。
CONDEFERRED BOOLEAN 預設時這個限制是否可以推遲。
CONRELID OID 這個限制所在的表;如果不是表限制則為0。
CONTYPEID OID 這個限制所在的域;如果不是一個域限制則為0。
CONFRELID OID 如果是外鍵,則為參考的表;否則為0。
CONFUPDTYPE "CHAR"

外鍵更新動作代碼。

a = 沒動作

r = 限制

c = 級聯

n =設定為null

d =設定為預設

CONFDELTYPE "CHAR"

外鍵删除動作代碼。

a = 沒動作

r = 限制

c = 級聯

n =設定為null

d =設定為預設

CONFMATCHTYPE "CHAR"

外鍵比對類型。

f = 全部

p = 部分

u = 簡單(未指定)

CONKEY SMALLINT[] 如果是表限制,則是限制控制的字段清單。
CONFKEY SMALLINT[] 如果是一個外鍵,是參考的字段的清單。
CONBIN PG_NODE_TREE 如果是檢查限制,那就是其表達式的内部形式。
CONSRC TEXT 如果是檢查限制,則是表達式的人類可讀形式。

PG_CURSORS

列出了目前可用的遊标。

名稱 類型 描述
NAME TEXT 遊标名。
STATEMENT TEXT 聲明改遊标時的查詢語句。
IS_HOLDABLE BOOLEAN 如果該遊标是持久的(就是在聲明該遊标的事務結束後仍然可以通路該遊标)則為TRUE,否則為FALSE。
IS_BINARY BOOLEAN 如果該遊标被聲明為BINARY則為TRUE,否則為FALSE。
IS_SCROLLABLE BOOLEAN 如果該遊标可以滾動(就是允許以不連續的方式檢索)則為TRUE,否則為FALSE。
CREATION_TIME TIMESTAMP WITH TIME ZONE 聲明該遊标的時間戳。

PG_DATABASE

存儲關于可用資料庫的資訊。

名稱 類型 描述
DATNAME NAME 資料庫名字。
DATDBA OID 資料庫所有人,通常為其建立者。
ENCODING INTEGER 資料庫的字元編碼方式。
DATCOLLATE NAME 資料庫使用的排序順序。
DATCTYPE NAME 資料庫使用的字元分類。
DATISTEMPLATE BOOLEAN 是否允許作為模闆資料庫。
DATALLOWCONN BOOLEAN 如果為假,則沒有使用者可以連接配接到這個資料庫。這個字段用于保護template0資料庫不被更改。
DATCONNLIMIT INTEGER 該資料庫上允許的最大并發連接配接數,-1表示無限制。
DATLASTSYSOID OID 資料庫裡最後一個系統OID 。
DATFROZENXID XID 用于跟蹤該資料庫是否需要為了防止事務ID重疊而進行清理。
DATTABLESPACE OID 資料庫的預設表空間。
DATACL ACLITEM[] 通路權限。

PG_DB_ROLE_SETTING

存儲資料庫運作時每個角色與資料綁定的配置項的預設值 。

名稱 類型 描述
SETDATABASE OID 配置項所對應的資料庫,如果未指定資料庫,則為0。
SETROLE OID 配置項所對應的角色,如果未指定角色,則為0。
SETCONFIG TEXT[] 運作時配置項的預設值。

PG_DEFAULT_ACL

存儲為建立對象設定的初始權限。

名稱 類型 描述
DEFACLROLE OID 與此權限相關的角色ID。
DEFACLNAMESPACE OID 與此權限相關的名字空間,如果沒有,則為0。
DEFACLOBJTYPE "CHAR" 此權限的對象類型。
DEFACLACL ACLITEM[] 建立該類型時所擁有的通路權限。

繼續閱讀