婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PostgreSQL教程(十五):系統表詳解

PostgreSQL教程(十五):系統表詳解

熱門標簽:地圖標注和圖片名稱的區別 漯河外呼電話系統 合肥公司外呼系統運營商 重慶自動外呼系統定制 辦公外呼電話系統 外呼調研系統 美容工作室地圖標注 打電話智能電銷機器人授權 海豐有多少商家沒有地圖標注

一、pg_class:

    該系統表記錄了數據表、索引(仍然需要參閱pg_index)、序列、視圖、復合類型和一些特殊關系類型的元數據。注意:不是所有字段對所有對象類型都有意義。

 

名字 類型 引用 描述
relname name   數據類型名字。
relnamespace oid pg_namespace.oid 包含這個對象的名字空間(模式)的OI。
reltype oid pg_type.oid 對應這個表的行類型的數據類型。
relowner oid pg_authid.oid 對象的所有者。
relam oid pg_am.oid 對于索引對象,表示該索引的類型(B-tree,hash)。
relfilenode oid   對象存儲在磁盤上的文件名,如果沒有則為0。
reltablespace oid pg_tablespace.oid 對象所在的表空間。如果為零,則表示使用該數據庫的缺省表空間。(如果對象在磁盤上沒有文件,這個字段就沒有什么意義)
relpages int4   該數據表或索引所占用的磁盤頁面數量,查詢規劃器會借助該值選擇最優路徑。
reltuples float4   表中行的數量,該值只是被規劃器使用的一個估計值。
reltoastrelid oid pg_class.oid 與此表關聯的TOAST表的OID,如果沒有為0。TOAST表在一個從屬表里"離線"存儲大字段。
reltoastidxid oid pg_class.oid 如果是TOAST表,該字段為它索引的OID,如果不是TOAST表則為0。
relhasindex bool    如果這是一個數據表而且至少有(或者最近有過)一個索引,則為真。它是由CREATE INDEX設置的,但DROP INDEX不會立即將它清除。如果VACUUM發現一個表沒有索引,那么它清理 relhasindex。
relisshared bool    如果該表在整個集群中由所有數據庫共享,則為真。 
relkind char   r = 普通表,i = 索引,S = 序列,v = 視圖, c = 復合類型,s = 特殊,t = TOAST表
relnatts int2   數據表中用戶字段的數量(除了系統字段以外,如oid)。在pg_attribute里肯定有相同數目的數據行。見pg_attribute.attnum.
relchecks int2   表中檢查約束的數量,參閱pg_constraint表。
reltriggers int2   表中觸發器的數量;參閱pg_trigger表。
relhasoids bool   如果我們為對象中的每行都生成一個OID,則為真。
relhaspkey bool   如果該表存在主鍵,則為真。
relhasrules  bool   如表有規則就為真;參閱pg_rewrite表。
relhassubclass bool    如果該表有子表,則為真。
relacl aclitem[]   訪問權限。

 見如下應用示例:
 

復制代碼 代碼如下:

    #查看指定表對象testtable的模式
    postgres=# SELECT relname,relnamespace,nspname FROM pg_class c,pg_namespace n WHERE relname = 'testtable' AND relnamespace = n.oid;
      relname   | relnamespace | nspname
    -------------+--------------+---------
     testtable   |         2200    | public
    (1 row)
    #查看指定表對象testtable的owner(即role)。
    postgres=# select relname,rolname from pg_class c,pg_authid au where relname = 'testtable' and relowner = au.oid;
      relname   | rolname
    -------------+----------
     testtable   | postgres
    (1 row)

二、pg_attribute:

    該系統表存儲所有表(包括系統表,如pg_class)的字段信息。數據庫中的每個表的每個字段在pg_attribute表中都有一行記錄。

 

名字 類型 引用 描述
attrelid oid pg_class.oid 此字段所屬的表。
attname name   字段名。
atttypid oid pg_type.oid 字段的數據類型。
attstattarget int4   attstattarget控制ANALYZE為這個字段設置的統計細節的級別。零值表示不收集統計信息,負數表示使用系統缺省的統計對象。正數值的確切信息是和數據類型相關的。
attlen int2   該字段所屬類型的長度。(pg_type.typlen的拷貝)
attnum int2   字段的編號,普通字段是從1開始計數的。系統字段,如oid,是任意的負數。
attndims int4   如果該字段是數組,該值表示數組的維數,否則是0。
attcacheoff int4   在磁盤上總是-1,但是如果裝載入內存中的行描述器中, 它可能會被更新為緩沖在行中字段的偏移量。
atttypmod int4   表示數據表在創建時提供的類型相關的數據(比如,varchar字段的最大長度)。其值對那些不需要atttypmod的類型而言通常為-1。
attbyval bool   pg_type.typbyval字段值的拷貝。
attstorage char   pg_type.typstorage字段值的拷貝。
attalign char   pg_type.typalign字段值的拷貝。
attnotnull bool   如果該字段帶有非空約束,則為真,否則為假。
atthasdef bool   該字段是否存在缺省值,此時它對應pg_attrdef表里實際定義此值的記錄。
attisdropped bool   該字段是否已經被刪除。如果被刪除,該字段在物理上仍然存在表中,但會被分析器忽略,因此不能再通過SQL訪問。
attislocal bool   該字段是否局部定義在對象中的。
attinhcount int4   該字段所擁有的直接祖先的個數。如果一個字段的祖先個數非零,那么它就不能被刪除或重命名。

 見如下應用示例:
 

復制代碼 代碼如下:

    #查看指定表中包含的字段名和字段編號。
    postgres=# SELECT relname, attname,attnum FROM pg_class c,pg_attribute attr WHERE relname  = 'testtable' AND c.oid = attr.attrelid;
      relname   | attname  | attnum
    -------------+----------+--------
     testtable   | tableoid   |     -7
     testtable   | cmax       |     -6
     testtable   | xmax      |     -5
     testtable   | cmin       |     -4
     testtable   | xmin       |     -3
     testtable   | ctid         |     -1
     testtable   | i             |      1
    (7 rows)
    #只查看用戶自定義字段的類型
    postgres=# SELECT relname,attname,typname FROM pg_class c,pg_attribute a,pg_type t WHERE c.relname = 'testtable' AND c.oid = attrelid AND atttypid = t.oid AND attnum > 0;
      relname   | attname  | typname
    -------------+----------+---------
     testtable   | i             | int4
    (7 rows)

三、pg_attrdef:

    該系統表主要存儲字段缺省值,字段中的主要信息存放在pg_attribute系統表中。注意:只有明確聲明了缺省值的字段在該表中才會有記錄。

 

名字 類型 引用 描述
adrelid oid pg_class.oid 這個字段所屬的表
adnum int2 pg_attribute.attnum 字段編號,其規則等同于pg_attribute.attnum
adbin text   字段缺省值的內部表現形式。
adsrc text   缺省值的人可讀的表現形式。

 見如下應用示例:
 

復制代碼 代碼如下:

    #查看指定表有哪些字段存在缺省值,同時顯示出字段名和缺省值的定義方式
    postgres=# CREATE TABLE testtable2 (i integer DEFAULT 100);
    CREATE TABLE        
    postgres=# SELECT c.relname, a.attname, ad.adnum, ad.adsrc FROM pg_class c, pg_attribute a, pg_attrdef ad WHERE relname = 'testtable2' AND ad.adrelid = c.oid AND adnum = a.attnum AND attrelid = c.oid;
      relname    | attname | adnum  | adsrc
    -------------+----------+---------+-------
     testtable2  | i            |         1  | 100
    (1 row)
 

四、pg_authid:

    該系統表存儲有關數據庫認證的角色信息,在PostgreSQL中角色可以表現為用戶和組兩種形式。對于用戶而言只是設置了rolcanlogin標志的角色。由于該表包含口令數據,所以它不是公共可讀的。PostgreSQL中提供了另外一個建立在該表之上的系統視圖pg_roles,該視圖將口令字段填成空白。

名字 類型 引用 描述
rolname name 角色名稱。
rolsuper bool 角色是否擁有超級用戶權限。
rolcreaterole bool 角色是否可以創建其它角色。
rolcreatedb bool 角色是否可以創建數據庫。
rolcatupdate bool 角色是否可以直接更新系統表(如果該設置為假,即使超級用戶也不能更新系統表)。
rolcanlogin bool 角色是否可以登錄,換句話說,這個角色是否可以給予會話認證標識符。
rolpassword text 口令(可能是加密的);如果沒有則為NULL。
rolvaliduntil timestamptz 口令失效時間(只用于口令認證);如果沒有失效期,則為NULL。
rolconfig text[] 運行時配置變量的會話缺省。

見如下應用示例:

復制代碼 代碼如下:

    #從輸出結果可以看出口令字段已經被加密。
    postgres=# SELECT rolname,rolpassword FROM pg_authid;
     rolname  |             rolpassword
    -----------+-------------------------------------
     postgres | md5a3556571e93b0d20722ba62be61e8c2d

五、pg_auth_members:

    該系統表存儲角色之間的成員關系。

 

名字 類型 引用 描述
roleid oid pg_authid.oid 組角色的ID。
member oid pg_authid.oid 屬于組角色roleid的成員角色的ID。
grantor oid pg_authid.oid 賦予此成員關系的角色的ID。
admin_option bool 如果具有把其它成員角色加入組角色的權限,則為真。

  見如下應用示例:
 

復制代碼 代碼如下:

    #1. 先查看角色成員表中有哪些角色之間的隸屬關系,在當前結果集中只有一個成員角色隸屬于一個組角色,
    #    如果有多個成員角色隸屬于同一個組角色,這樣將會有多條記錄。
    postgres=# SELECT * FROM pg_auth_members ;
     roleid  | member | grantor | admin_option
    --------+--------+---------+--------------
      16446 |  16445  |      10   | f
    (1 row)
    #2. 查看組角色的名字。
    postgres=# SELECT rolname FROM pg_authid a,pg_auth_members am WHERE a.oid = am.roleid;
     rolname
    ---------
     mygroup
    (1 row)
    #3. 查看成員角色的名字。
    #4. 如果需要用一個結果集獲取角色之間的隸屬關系,可以將這兩個結果集作為子查詢后再進行關聯。
    postgres=# SELECT rolname FROM pg_authid a,pg_auth_members am WHERE a.oid = am.member;
     rolname
    ---------
     myuser
    (1 row)

六、pg_constraint:

    該系統表存儲PostgreSQL中表對象的檢查約束、主鍵、唯一約束和外鍵約束。

 

名字 類型 引用 描述
conname name 約束名字(不一定是唯一的)。
connamespace oid pg_namespace.oid 包含這個約束的名字空間(模式)的OID。
contype char c = 檢查約束, f = 外鍵約束, p = 主鍵約束, u = 唯一約束
condeferrable bool 該約束是否可以推遲。
condeferred bool 缺省時這個約束是否是推遲的?
conrelid oid pg_class.oid 該約束所在的表,如果不是表約束則為0。
contypid oid pg_type.oid 該約束所在的域,如果不是域約束則為0。
confrelid oid pg_class.oid 如果為外鍵,則指向參照的表,否則為0。
confupdtype char 外鍵更新動作代碼。
confdeltype char 外鍵刪除動作代碼。
confmatchtype char 外鍵匹配類型。
conkey int2[] pg_attribute.attnum 如果是表約束,則是約束控制的字段列表。
confkey int2[] pg_attribute.attnum 如果是外鍵,則是參照字段的列表。
conbin text 如果是檢查約束,則表示表達式的內部形式。
consrc text 如果是檢查約束,則是表達式的人可讀的形式。

七、pg_tablespace:

    該系統表存儲表空間的信息。注意:表可以放在特定的表空間里,以幫助管理磁盤布局和解決IO瓶頸。

 

名字 類型 引用 描述
spcname name   表空間名稱。
spcowner oid pg_authid.oid 表空間的所有者,通常是創建它的角色。
spclocation text   表空間的位置(目錄路徑)。
spcacl aclitem[]   訪問權限。

見如下應用示例:

復制代碼 代碼如下:

    #1. 創建表空間。
    postgres=# CREATE TABLESPACE my_tablespace LOCATION '/opt/PostgreSQL/9.1/mydata';
    CREATE TABLESPACE
    #2. 將新建表空間的CREATE權限賦予public。
    postgres=# GRANT CREATE ON TABLESPACE my_tablespace TO public;
    GRANT
    #3. 查看系統內用戶自定義表空間的名字、文件位置和創建它的角色名稱。
    #4. 系統創建時自動創建的兩個表空間(pg_default和pg_global)的文件位置為空(不是NULL)。
    postgres=# SELECT spcname,rolname,spclocation FROM pg_tablespace ts,pg_authid a WHERE ts.spcowner = a.oid AND spclocation > '';
        spcname    | rolname  |        spclocation
    ---------------+----------+----------------------------
     my_tablespace | postgres | /opt/PostgreSQL/9.1/mydata
    (1 row)

八、pg_namespace:

    該系統表存儲名字空間(模式)。

 

名字 類型 引用 描述
nspname name   名字空間(模式)的名稱。
nspowner oid pg_authid.oid 名字空間(模式)的所有者
nspacl aclitem[]   訪問權限。

見如下應用示例:  

復制代碼 代碼如下:

    #查看當前數據庫public模式的創建者的名稱。
    postgres=# SELECT nspname,rolname FROM pg_namespace n, pg_authid a WHERE nspname = 'public' AND nspowner = a.oid;
     nspname | rolname
    ----------+----------
     public    | postgres
    (1 row)

九、pg_database:

    該系統表存儲數據庫的信息。和大多數系統表不同的是,在一個集群里該表是所有數據庫共享的,即每個集群只有一份pg_database拷貝,而不是每個數據庫一份。

名字 類型 引用 描述
datname name   數據庫名稱。
datdba oid pg_authid.oid 數據庫所有者,通常為創建該數據庫的角色。
encoding int4   數據庫的字符編碼方式。
datistemplate bool   如果為真,此數據庫可以用于CREATE DATABASE TEMPLATE子句,把新數據庫創建為此數據庫的克隆。
datallowconn bool   如果為假,則沒有人可以聯接到這個數據庫。
datlastsysoid oid   數據庫里最后一個系統OID,此值對pg_dump特別有用。
datvacuumxid xid    
datfrozenxid xid    
dattablespace text pg_tablespace.oid 該數據庫的缺省表空間。在這個數據庫里,所有pg_class.reltablespace為零的表都將保存在這個表空間里,特別要指出的是,所有非共享的系統表也都存放在這里。
datconfig text[]   運行時配置變量的會話缺省值。
datacl aclitem[]   訪問權限。

十、pg_index:

    該系統表存儲關于索引的一部分信息。其它的信息大多數存儲在pg_class。

 

名字 類型 引用 描述
indexrelid oid pg_class.oid 該索引在pg_class里的記錄的OID。
indrelid oid pg_class.oid 索引所在表在pg_class里的記錄的OID。
indnatts int2   索引中的字段數量(拷貝的pg_class.relnatts)。
indisunique bool   如果為真,該索引是唯一索引。
indisprimary bool   如果為真,該索引為該表的主鍵。
indisclustered bool   如果為真,那么該表在這個索引上建了簇。
indkey int2vector pg_attribute.attnum 該數組的元素數量為indnatts,數組元素值表示建立這個索引時所依賴的字段編號,如1 3,表示第一個字段和第三個字段構成這個索引的鍵值。如果為0,則表示是表達式索引,而不是基于簡單字段的索引。
indclass oidvector pg_opclass.oid 對于構成索引鍵值的每個字段,這個字段都包含一個指向所使用的操作符表的OID。
indexprs text   表達式樹用于那些非簡單字段引用的索引屬性。它是一個列表,在indkey里面的每個零條目一個元素。如果所有索引屬性都是簡單的引用,則為空。
indpred text   部分索引斷言的表達式樹。如果不是部分索引, 則是空字串。

見如下應用示例:

復制代碼 代碼如下:

    #查看該索引所在表的名稱,以及構成該索引的鍵值數量和具體鍵值的字段編號。 
    postgres=# SELECT indnatts,indkey,relname FROM pg_index i, pg_class c WHERE c.relname = 'testtable2' AND indrelid = c.oid;
     indnatts | indkey |  relname
    ----------+--------+------------
            2 | 1 3    | testtable2
    (1 row)
    #查看指定表包含的索引,同時列出索引的名稱。
    postgres=# SELECT t.relname AS table_name, c.relname AS index_name FROM (SELECT relname,indexrelid FROM pg_index i, pg_class c WHERE c.relname = 'testtable2' AND indrelid = c.oid) t, pg_index i,pg_class c WHERE t.indexrelid = i.indexrelid AND i.indexrelid = c.oid;
     table_name |   index_name
    ------------+----------------
     testtable2 | testtable2_idx
    (1 row)

您可能感興趣的文章:
  • asp.net實現Postgresql快速寫入/讀取大量數據實例
  • 圖文詳解mybatis+postgresql平臺搭建步驟
  • PostgreSQL教程(二十):PL/pgSQL過程語言
  • PostgreSQL教程(十八):客戶端命令(2)
  • PostgreSQL教程(十七):客戶端命令(1)
  • PostgreSQL教程(十一):服務器配置
  • 在windows下手動初始化PostgreSQL數據庫教程
  • Python使用PyGreSQL操作PostgreSQL數據庫教程
  • Windows下PostgreSQL安裝圖解
  • Visual Studio(VS2017)配置C/C++ PostgreSQL9.6.3開發環境

標簽:衡陽 株洲 錦州 來賓 烏海 珠海 蚌埠 晉城

巨人網絡通訊聲明:本文標題《PostgreSQL教程(十五):系統表詳解》,本文關鍵詞  PostgreSQL,教程,十五,系統,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PostgreSQL教程(十五):系統表詳解》相關的同類信息!
  • 本頁收集關于PostgreSQL教程(十五):系統表詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    高清视频一区二区| 亚洲欧美另类小说| 欧美高清dvd| 国产精品亲子乱子伦xxxx裸| 天天操天天综合网| 91蝌蚪porny九色| 国产欧美一区二区在线观看| 欧美日韩1234| 日韩av中文在线观看| 精品亚洲免费视频| 亚洲欧美综合在线精品| 国产欧美一区二区精品秋霞影院| 久久综合精品国产一区二区三区 | 亚洲欧洲av色图| 亚洲黄一区二区三区| 亚洲综合小说图片| 午夜精品视频在线观看| 免费人成网站在线观看欧美高清| 久久精品国产亚洲aⅴ| 国产98色在线|日韩| 欧美在线你懂得| 96av麻豆蜜桃一区二区| **欧美大码日韩| 首页国产欧美日韩丝袜| 亚洲国产aⅴ成人精品无吗| 日韩亚洲国产中文字幕欧美| 免费成人在线网站| 免费高清在线视频一区·| 亚洲综合色噜噜狠狠| 国产一区二区三区高清播放| 日韩欧美国产精品| 国产原创一区二区三区| 精品国产成人系列| 欧美三级资源在线| 欧美三级电影精品| 亚洲成人一二三| 欧美色爱综合网| 亚洲电影中文字幕在线观看| 精品视频在线免费看| 日韩av在线播放中文字幕| 91精品国产综合久久精品性色| 美国三级日本三级久久99| 久久精品视频一区二区三区| 99国产欧美另类久久久精品| 99视频精品全部免费在线| 一区二区久久久久| 日韩一区二区麻豆国产| 国产老肥熟一区二区三区| 国产精品卡一卡二| 99精品视频在线免费观看| 亚洲.国产.中文慕字在线| 欧美一级免费观看| 肉色丝袜一区二区| 国产精品网曝门| 欧美中文字幕久久| 国产一区二区美女诱惑| 日韩码欧中文字| 日韩欧美一级在线播放| 99亚偷拍自图区亚洲| 日本欧美大码aⅴ在线播放| 国产欧美va欧美不卡在线 | 91精品国产福利在线观看| 精品亚洲porn| 亚洲伦理在线精品| 精品国内二区三区| 91蝌蚪国产九色| 韩国精品一区二区| 亚洲国产精品精华液网站| 日韩美一区二区三区| 成人h动漫精品一区二区| 日韩国产欧美视频| 亚洲视频一区在线观看| 精品精品欲导航| 欧美日韩你懂的| 91在线免费看| 国产传媒久久文化传媒| 欧美aaaaaa午夜精品| 国产精品素人视频| 2023国产精品视频| 91视频在线观看免费| 日韩黄色片在线观看| 国产精品三级在线观看| 欧美丰满美乳xxx高潮www| 国产精品自拍av| 亚洲国产精品影院| 国产精品久久夜| 日韩区在线观看| 91国内精品野花午夜精品| 国产麻豆精品久久一二三| 亚洲一区在线观看视频| 欧美大肚乱孕交hd孕妇| 色婷婷久久久久swag精品| 国产成人精品一区二| 麻豆专区一区二区三区四区五区| 亚洲三级免费观看| 中文字幕欧美国产| 久久久午夜精品| 日韩精品一区二区三区swag| 欧美日韩免费观看一区二区三区 | 一区二区日韩av| 国产精品免费视频观看| 久久精品人人爽人人爽| 亚洲精品一区二区三区香蕉| 欧美福利视频导航| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 91网站最新网址| 菠萝蜜视频在线观看一区| 国产99久久久国产精品潘金| 国产在线精品免费av| 国产一区二区不卡在线| 国产精品一二三四五| 国产乱子轮精品视频| 国内偷窥港台综合视频在线播放| 免费观看在线综合色| 亚洲成a人片综合在线| 亚洲va韩国va欧美va精品| 亚洲精品日韩专区silk| 一区二区三区精密机械公司| 亚洲美女视频在线观看| 一区二区三区 在线观看视频| 亚洲地区一二三色| 亚洲国产精品视频| 免费人成在线不卡| 国产福利精品一区| 不卡电影免费在线播放一区| 色悠悠久久综合| 色av一区二区| 91福利视频在线| 欧洲精品在线观看| 欧美顶级少妇做爰| 久久精品水蜜桃av综合天堂| 亚洲欧美日韩一区| 视频一区二区不卡| 久久99久久久久| 不卡视频一二三| 在线不卡的av| 国产色综合久久| 色屁屁一区二区| 欧美日韩一级视频| www久久精品| 国产精品灌醉下药二区| 亚洲va韩国va欧美va| 国产乱码精品一区二区三区av| 国产91在线观看| 欧美日韩另类一区| 国产精品午夜久久| 午夜精品免费在线观看| 国产精品传媒在线| 自拍偷拍亚洲激情| 有坂深雪av一区二区精品| 日本不卡视频在线观看| 经典三级视频一区| 波多野结衣在线一区| 99久久亚洲一区二区三区青草| 欧美日韩高清一区| 国产精品国产自产拍高清av王其| 国产色一区二区| 亚洲人成在线播放网站岛国| 视频一区二区三区中文字幕| 97久久精品人人爽人人爽蜜臀| 欧美不卡视频一区| 亚洲综合一区在线| 不卡的电视剧免费网站有什么| 日韩免费观看高清完整版| 亚洲一区二区三区四区在线观看 | av亚洲精华国产精华精| 色综合久久99| 久久久久久久久久美女| 天使萌一区二区三区免费观看| 成人福利视频网站| 欧美一区二区三区在线观看视频 | 国产suv一区二区三区88区| 成人福利视频网站| 亚洲一区二区三区激情| 高清beeg欧美| 91精品国产91久久久久久一区二区 | 91极品视觉盛宴| 日韩欧美一级特黄在线播放| 国产精品久久久久久久久晋中| 美女网站在线免费欧美精品| 在线观看中文字幕不卡| 亚洲欧洲韩国日本视频| 另类小说一区二区三区| 欧美日韩一区三区| 亚洲精品一二三区| 99久久精品国产一区| 国产精品亲子伦对白| 国产99精品视频| 国产日韩欧美不卡在线| 国产一区二区三区电影在线观看| 日韩美一区二区三区| 在线国产电影不卡| 一区二区三区免费看视频| 国产在线乱码一区二区三区| 91精品国产色综合久久不卡电影 | 婷婷久久综合九色综合伊人色| 成人精品视频网站| 日本一区二区高清| 久久国产尿小便嘘嘘尿| 欧美日本乱大交xxxxx|