時間:2024-02-09 10:40作者:下載吧人氣:16
一、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[] | 訪問權限。 |
見如下應用示例:
網友評論