一、pg_tables:
該視圖提供了對有關資料庫中每個表的有用資訊地訪問。
名字 |
類型 |
引用 |
描述 |
schemaname |
name |
pg_namespace.nspname |
包含表的模式名字。 |
tablename |
name |
pg_class.relname |
表的名字。 |
tableowner |
name |
pg_authid.rolname |
表的所有者的名字。 |
tablespace |
name |
pg_tablespace.spcname |
包含表的資料表空間名字(如果是資料庫預設,則為 NULL)。 |
hasindexes |
bool |
pg_class.relhasindex |
如果表擁有(或者最近擁有)任何索引,則為真。 |
hasrules |
bool |
pg_class.relhasrules |
如果表存在規則,則為真。 |
hastriggers |
bool |
pg_class.reltriggers |
如果表有觸發器,則為真。 |
二、pg_indexes:
該視圖提供對資料庫中每個索引的有用資訊的訪問。
名字 |
類型 |
引用 |
描述 |
schemaname |
name |
pg_namespace.nspname |
包含表和索引的模式的名字。 |
tablename |
name |
pg_class.relname |
索引所在表的名字。 |
indexname |
name |
pg_class.relname |
索引的名字。 |
tablespace |
name |
pg_tablespace.spcname |
包含索引的資料表空間名字(如果是資料庫預設,則為NULL)。 |
indexdef |
text |
|
索引定義(一個重建的建立命令)。 |
三、pg_views:
該視圖提供了對資料庫裡每個視圖的有用資訊的訪問途徑。
名字 |
類型 |
引用 |
描述 |
schemaname |
name |
pg_namespace.nspname |
包含此視圖的模式名字。 |
viewname |
name |
pg_class.relname |
視圖的名字。 |
viewowner |
name |
pg_authid.rolname |
視圖的所有者的名字。 |
definition |
text |
|
視圖定義(一個重建的SELECT查詢)。 |
四、pg_user:
該視圖提供了對資料庫使用者的相關資訊的訪問。 這個視圖只是pg_shadow表的公眾可讀的部分的視圖化,但是不包含口令欄位。
名字 |
類型 |
引用 |
描述 |
usename |
name |
|
使用者名稱。 |
usesysid |
int4 |
|
使用者ID(用於引用這個使用者的任一數字)。 |
usecreatedb |
bool |
|
使用者是否可以建立資料庫。 |
usesuper |
bool |
|
使用者是否是一個超級使用者。 |
usecatupd |
bool |
|
使用者是否可以更新系統資料表。(即使超級使用者也不能這麼幹,除非這個欄位為真。) |
passwd |
text |
|
口令(可能加密了)。 |
valuntil |
abstime |
|
口令失效的時間(只用於口令認證)。 |
useconfig |
text[] |
|
運行時配置參數的會話預設。 |
五、pg_roles:
該視圖提供訪問資料庫角色有關資訊的介面。這個視圖只是pg_authid表的公開可讀部分的視圖化,同時把口令欄位用空白填充。
名字 |
類型 |
引用 |
描述 |
rolname |
name |
|
角色名稱。 |
rolsuper |
bool |
|
是否有超級使用者權限的角色。 |
rolcreaterole |
bool |
|
是否可以建立更多角色的角色。 |
rolcreatedb |
bool |
|
是否可以建立資料庫的角色。 |
rolcatupdate |
bool |
|
是否可以直接更新系統資料表的角色。 |
rolcanlogin |
bool |
|
如果為真,表示是可以登入的角色。 |
rolpassword |
text |
|
不是口令(總是 ********)。 |
rolvaliduntil |
timestamptz |
|
口令失效日期(只用於口令認證);如果沒有失效期,為NULL。 |
rolconfig |
text[] |
|
運行時組態變數的會話預設。 |
六、pg_rules:
該視圖提供對查詢重寫規則的有用資訊訪問的介面。
名字 |
類型 |
引用 |
描述 |
schemaname |
name |
pg_namespace.nspname |
包含表的模式的名字。 |
tablename |
name |
pg_class.relname |
規則施加影響的表的名字。 |
rulename |
name |
pg_rewrite.rulename |
規則的名字。 |
definition |
text |
|
規則定義(一個重新構造的建立命令)。 |
七、pg_settings:
該視圖提供了對伺服器運行時參數的訪問。它實際上是SHOW和SET命令的另外一種方式。它還提供一些用SHOW不能直接擷取的參數的訪問,比如最大和最小值。
名字 |
類型 |
引用 |
描述 |
name |
text |
|
運行時配置參數名。 |
setting |
text |
|
參數的當前值。 |
category |
text |
|
參數的邏輯組。 |
short_desc |
text |
|
參數的一個簡短的描述。 |
extra_desc |
text |
|
有關參數的額外的、更詳細的資訊。 |
context |
text |
|
設定這個參數的值要求的環境。 |
vartype |
text |
|
參數類型(bool、integer、real和string)。 |
source |
text |
|
當前參數值的來源。 |
min_val |
text |
|
該參數允許的最小值(非數字值為NULL)。 |
max_val |
text |
|
該參數允許的最大值(非數字值為NULL)。 |
我們不能對pg_settings視圖進行插入或者刪除, 只能更新。對pg_settings中的一行進行UPDATE等效於在該具名引數上執行SET命令。這個修改值影響當前會話使用的數值。如果在一個最後退出的事務中發出了UPDATE命令,那麼UPDATE命令的效果將在交易回復之後消失。一旦包圍它的事務提交,這個效果將固化,直到會話結束。