ALTER OPERATOR — 演算子の定義を変更する
ALTER OPERATORname
( {left_type
| NONE } ,right_type
) OWNER TO {new_owner
| CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER OPERATORname
( {left_type
| NONE } ,right_type
) SET SCHEMAnew_schema
ALTER OPERATORname
( {left_type
| NONE } ,right_type
) SET ( { RESTRICT = {res_proc
| NONE } | JOIN = {join_proc
| NONE } } [, ... ] )
ALTER OPERATOR
は演算子の定義を変更します。
ALTER OPERATOR
を使用するには演算子の所有者でなければなりません。
所有者を変更するには、直接または間接的に新しい所有者ロールのメンバでなければなりません。
また、そのロールが演算子のスキーマにおいてCREATE
を持たなければなりません。
(この制限により、演算子の削除と再作成で行うことができない処理を所有者の変更で行えないようになります。
しかし、スーパーユーザはすべての演算子の所有者を変更することができます。)
name
既存の演算子の名前です(スキーマ修飾名も可)。
left_type
演算子の左オペランドのデータ型です。
左オペランドがない演算子の場合はNONE
を指定します。
right_type
演算子の右オペランドのデータ型です。
new_owner
演算子の新しい所有者です。
new_schema
演算子の新しいスキーマです。
res_proc
この演算子の制約選択評価関数です。 既存の制約選択評価関数を削除するにはNONEを指定します。
join_proc
この演算子の結合選択評価関数です。 既存の結合選択評価関数を削除するにはNONEを指定します。
text
型用の独自の演算子a @@ b
の所有者を変更します。
ALTER OPERATOR @@ (text, text) OWNER TO joe;
int[]
型用の独自の演算子a && b
の制約および結合選択評価関数を変更します。
ALTER OPERATOR && (_int4, _int4) SET (RESTRICT = _int_contsel, JOIN = _int_contjoinsel);
標準SQLにはALTER OPERATOR
文はありません。