概要
ALTER OPERATOR name ( { left_type | NONE } , { right_type | NONE } )
OWNER TO { new_owner | CURRENT_USER | SESSION_USER }
ALTER OPERATOR name ( { left_type | NONE } , { right_type | NONE } )
SET SCHEMA new_schema
ALTER OPERATOR name ( { left_type | NONE } , { right_type | NONE } )
SET ( { RESTRICT = { res_proc | NONE }
| JOIN = { join_proc | NONE }
} [, ... ] )
説明
ALTER OPERATORは演算子の定義を変更します。
ALTER OPERATORを使用するには演算子の所有者でなければなりません。
所有者を変更するには、直接または間接的に新しい所有者ロールのメンバでなければなりません。
また、そのロールが演算子のスキーマにおいてCREATEを持たなければなりません。
(この制限により、演算子の削除と再作成で行うことができない処理を所有者の変更で行えないようになります。
しかし、スーパーユーザはすべての演算子の所有者を変更することができます。)
例
text型用の独自の演算子a @@ bの所有者を変更します。
ALTER OPERATOR @@ (text, text) OWNER TO joe;
int[]型用の独自の演算子a && bの制約および結合選択評価関数を変更します。
ALTER OPERATOR && (_int4, _int4) SET (RESTRICT = _int_contsel, JOIN = _int_contjoinsel);