43.22. pg_opclass

pg_opclass 定義索引訪問方法操作符表。 每個操作符表為一種特定數據類型和一種特定索引訪問方法定義索引 字段的語義。請注意對于一種指定的數據類型/訪問方法組合,可能會 有多種操作符表,這樣就可以支持多種行為。

操作符表在 Section 33.13 裡有比較詳細的描述。

Table 43-22. pg_opclass 字段

名字類型參考描述
opcamidoidpg_am.oid操作符表所服務的索引訪問方法
opcnamename 這個操作符表的名字
opcnamespaceoidpg_namespace.oid這個操作符表的名字空間
opcownerint4pg_shadow.usesysid操作符表所有人
opcintypeoidpg_type.oid操作符表的輸入數據類型
opcdefaultbool 如果操作符表是opcintype(見前一個字段)的缺省,則為真
opckeytypeoidpg_type.oid索引數據的類型,如果和opcintype相同則為零

定義一個操作符表的大部分信息實際上並不在它的 pg_opclass 行裡,而是在相關的 pg_amoppg_amproc 行裡。我們認為這些行是定義操作符表的一部分 --- 這和用一行 pg_class 加上在 pg_attribute 和其他表中的行定義一個關系(表)沒啥不同。