pg_opclass
pg_opclassカタログはインデックスアクセスメソッド演算子クラスを定義します。
それぞれの演算子クラスは特定のデータ型のインデックス列のセマンティクスと特定のインデックスアクセスメソッドを定義します。
演算子クラスは、ある特定の演算子族は特定のインデックス可能な列データの型に対して適用できる、ということを本質的に特定します。
インデックス付けされた列を実際に使用可能な演算子族の演算子群は、その列のデータ型を左辺の入力として受け付けます。
演算子クラスについては38.15に詳細に説明されています。
表52.33 pg_opclassの列
| 名前 | 型 | 参照先 | 説明 |
|---|---|---|---|
oid | oid | 行識別子(隠し属性です。明示的に選択しなければなりません) | |
opcmethod | oid | | 対象のインデックスアクセスメソッド演算子クラス |
opcname | name | この演算子クラスの名前 | |
opcnamespace | oid | | この演算子クラスの名前空間 |
opcowner | oid | | 演算子クラスの所有者 |
opcfamily | oid | | 演算子クラスを含んでいる演算子族 |
opcintype | oid | | 演算子クラスがインデックスを作成するデータ型 |
opcdefault | bool | 演算子クラスがopcintypeのデフォルトである場合は真 | |
opckeytype | oid | | インデックス内に格納されているデータ型。opcintypeと同じ場合はゼロ |
演算子クラスのopcmethodは、演算子クラスが含んでいる演算子族のopfmethodに一致しなければいけません。
また、任意のopcmethodとopcintypeの組み合わせに対してopcdefaultが真となるようなpg_opclass行が複数存在してはいけません。