pg_opclassカタログはインデックスアクセスメソッド演算子クラスを定義します。それぞれの演算子クラスは特定のデータ型のインデックス列のセマンティクスと特定のインデックスアクセスメソッドを定義します。演算子クラスは、ある特定の演算子の集合が特定のインデックス可能な列データの型に対して適用できる、ということを本質的に特定します。インデックスが作成されている列と共に、実際に使用される集合の演算子の組は、どの演算子も列のデータ型を左入力として受け付けるられます。
演算子クラスについては項34.14に詳細に説明されています。
表 44-25. pg_opclassの列
名前 | 型 | 参照先 | 説明 |
---|---|---|---|
opcmethod | oid | pg_am.oid | 演算子クラスで使用するインデックスアクセスメソッド |
opcname | name | この演算子クラスの名前 | |
opcnamespace | oid | pg_namespace.oid | この演算子クラスの名前空間 |
opcowner | oid | pg_authid.oid | 演算子クラスの所有者 |
opcfamily | oid | pg_opfamily.oid | 演算子クラスを含んでいる演算子の集合 |
opcintype | oid | pg_type.oid | 演算子クラスがインデックスを作成するデータ型 |
opcdefault | bool | opclassが演算子クラスのデフォルトである場合は真 | |
opckeytype | oid | pg_type.oid | インデックス内に格納されているデータの型。もしくはopcintypeと同じ場合はゼロ |
演算子クラスのopcmethodは、演算子クラスが含んでいる演算子の集合のopfmethodに一致しなければいけません。 また、どのようなopcmethodとopcintypeの組み合わせに対してもopcdefaultが真となるようなpg_opclass行が、1つ以上存在しなくてはいけません。