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