pg_opclass は、インデックスアクセスメソッド演算子クラスを定義します。 それぞれの演算子クラスは、特定のデータ型のインデックス列のセマンティクスおよび特定のインデックスアクセスメソッドを定義します。 複数の振る舞いをサポートするため、対象となるデータ型/アクセスメソッドの組み合わせについて複数の演算子クラスが存在する場合があることに注意してください。
演算子クラスについては、Programmer's Guide に詳細に説明されています。
Table 3-22. pg_opclass の列
| 名前 | 型 | 参照先 | 説明 | 
|---|---|---|---|
| opcamid | oid | pg_am.oid | opclass で使用するインデックスアクセスメソッド | 
| opcname | name | この opclass の名前 | |
| opcnamespace | oid | pg_namespace.oid | この opclass の名前空間 | 
| opcowner | int4 | pg_shadow.usesysid | opclass の所有者 | 
| opcintype | oid | pg_type.oid | opclass の入力データ型 | 
| opcdefault | bool | opclass が opcintype のデフォルトである場合は真 | |
| opckeytype | oid | pg_type.oid | インデックスデータの型、ただし opcintype と同じ場合はゼロ | 
演算子クラスを定義する情報の多くは実際には pg_opclass 行にはなく、関連する pg_amop および pg_amproc の行にあります。 これらの行は演算子クラスの定義の一部とみなされます。つまり この方法は、リレーションが単一の pg_class 行に加えて pg_attribute や他のテーブルの関連する行で定義されるのと変わりありません。