pg_opclass 定義索引存取方法運算子表。 每個運算子表為一種特定資料類型和一種特定索引存取方法定義索引 欄位的語義。請注意對於一種指定的資料類型/存取方法組合,可能會 有多種運算子表,這樣就可以支援多種行為。
運算子表在程式員手冊裡有比較詳細的描述。
Table 3-22. pg_opclass Columns
| 名字 | 類型 | 參考 | 描述 |
|---|---|---|---|
| opcamid | oid | pg_am.oid | 運算子表所服務的索引存取方法 |
| opcname | name | 這個運算子表的名字 | |
| opcnamespace | oid | pg_namespace.oid | 這個運算子表的名字空間 |
| opcowner | int4 | pg_shadow.usesysid | 運算子表所有人 |
| opcintype | oid | pg_type.oid | 運算子表的輸入資料類型 |
| opcdefault | bool | 如果運算子表是 opcintype (見前一個欄位)的預設,則為真 | |
| opckeytype | oid | pg_type.oid | 索引資料的類型,如果和 opcintype 相同則為零 |
定義一個運算子表的大部分資訊實際上並不在它的 pg_opclass 行裡,而是在相關的 pg_amop 和 pg_amproc 行裡。我們認為這些行是定義運算子表的一部分 --- 這和用一行 pg_class 加上在 pg_attribute 和其他表中的行定義一個關系(表)沒啥不同。