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[] | 建立該類型時所擁有的通路權限。 |