★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

53.4. pg_amop #

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

表53.4 pg_amopの列

列 型

説明

oid oid

行識別子

amopfamily oid (参照先 pg_opfamily.oid

この項目用の演算子族

amoplefttype oid (参照先 pg_type.oid

演算子の左辺側のデータ型

amoprighttype oid (参照先 pg_type.oid

演算子の右辺側のデータ型

amopstrategy int2

演算子の戦略番号

amoppurpose char

演算子の目的。 s = 検索用、 o = 順序付け用

amopopr oid (参照先 pg_operator.oid

演算子のOID

amopmethod oid (参照先 pg_am.oid

演算子族用のインデックスアクセスメソッド

amopsortfamily oid (参照先 pg_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に一致しなくてはいけません。