★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

51.4. pg_amop

pg_amopカタログにはアクセスメソッド演算子の集合に関連付けられた演算子の情報が格納されています。 演算子族のメンバである演算子毎に1つの行が存在します。 演算子族のメンバは検索演算子または順序付け演算子のいずれかになることができます。 演算子は1つ以上の演算子族に現れますが、演算子族の中では検索でも順序付けでも複数現れることはありません。 (ほとんどありませんが、ある演算子が検索目的と順序付け目的の両方で使用されることが許されます。)

表51.4 pg_amopの列

名前参照先説明
oidoid 行識別子
amopfamilyoidpg_opfamily.oidこの項目用の演算子族
amoplefttypeoidpg_type.oid演算子の左辺側のデータ型
amoprighttypeoidpg_type.oid演算子の右辺側のデータ型
amopstrategyint2 演算子の戦略番号
amoppurposechar 演算子の目的。検索用ならばs、順序付け用であればo
amopoproidpg_operator.oid演算子のOID
amopmethodoidpg_am.oid演算子族用のインデックスアクセスメソッド
amopsortfamilyoidpg_opfamily.oid 順序付け用の演算子の場合、この項目のソートが従うB-tree演算子族。検索用演算子であればゼロ

検索用演算子の項目は、この演算子族のインデックスをWHERE indexed_column operator constantを満たすすべての行を見つけるための検索に使用できることを示します。 いうまでもありませんが、こうした演算子は論理型を返さなければならず、また左辺の入力型はインデックス列のデータ型に一致しなければなりません。

順序付け用演算子の項目は、この演算子族のインデックスをORDER BY indexed_column operator constantで表される順序で行を返すためのスキャンに使用できることを示します。 こうした演算子の左辺の入力型はインデックス列のデータ型に一致しなければならないことは同じですが、任意のソート可能なデータ型を返すことができます。 ORDER BYの正確な意味は、この演算子の結果型用のB-tree演算子族を参照する必要があるamopsortfamily列により指定されます。

注記

現在、順序付け演算子のソート順は参照される演算子族のデフォルト、つまりASC NULLS LASTであると仮定されています。 これは将来、ソートオプションを明示的に指定する追加列を加えることで緩和されるかもしれません。

項目のamopmethodは、項目を含む演算子族のopfmethodに一致しなくてはいけません。 (ここでのamopmethodは、性能上の理由からカタログ構造を意図的に非正規化したものも含みます。) また、amoplefttypeamoprighttypeは、参照されているpg_operator項目のoprleftoprrightに一致しなくてはいけません。