CREATE OPERATOR FAMILY — 新しい演算子族を定義する
CREATE OPERATOR FAMILYname
USINGindex_method
CREATE OPERATOR FAMILY
は演算子族を新規に作成します。
演算子族は、関連する演算子クラスと、場合によっては、これらの演算子クラスと互換性があるが個々のインデックスの機能にとっては重要ではない、追加の演算子と関数の集合を定義します。
(インデックスにとって重要な演算子と関数は、演算子族内で「自由」とするのではなく、対応する演算子クラスにまとめられなければなりません。
通常、単一のデータ型に対する演算子は演算子クラスにまとめ、データ型を跨る演算子を両方のデータ型に対する演算子族内で自由とします。)
新しい演算子族の初期状態は空です。
続いて、含むべき演算子クラスを追加するためにCREATE OPERATOR CLASS
コマンドを発行してデータを投入します。
必要なら、「自由」な演算子と対応するサポート関数を追加するためにALTER OPERATOR FAMILY
コマンドを発行します。
スキーマ名が指定されると、演算子族は指定したスキーマ内に作成されます。 さもなくば、現在のスキーマ内に作成されます。 対象とするインデックスメソッドが異なる場合に限り、同一スキーマ内に同じ名前の2つの演算子族を持たせることができます。
演算子族を定義したユーザがその所有者となります。 現時点では、作成者はスーパーユーザでなければなりません。 演算子族を間違って定義すると、サーバが混乱し、クラッシュすることさえありますので、この制限が存在します。
詳細は38.15を参照してください。
name
作成する演算子族の名前です。 この名前はスキーマ修飾可能です。
index_method
演算子族が対象とするインデックスメソッドの名前です。
CREATE OPERATOR FAMILY
はPostgreSQLの拡張です。
標準SQLにはCREATE OPERATOR FAMILY
文はありません。