PostgreSQL教程(十六):系統檢視表詳解,postgresql視圖

來源:互聯網
上載者:User

PostgreSQL教程(十六):系統檢視表詳解,postgresql視圖

一、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命令的效果將在交易回復之後消失。一旦包圍它的事務提交,這個效果將固化,直到會話結束。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.