ALTER OPERATOR
は、演算子の定義を変更します。
説明
ALTER operator
を使用するには、オペレータを所有する必要があります。 所有者を変更するには、新しい所有ロールの直接または間接のメンバーである必要があります。また、そのロールには、演算子のスキーマに対するCREATE
権限が必要です。 (これらの制限により、所有者を変更しても、オペレーターを削除して再作成することでできないことは何もできません。 ただし、スーパーユーザーは任意のオペレーターの所有権を変更できます。
概要
ALTER OPERATOR名 ( { left_type | NONE } , { right_type | NONE } )
{new_owner | CURRENT_USER | SESSION_USER} への所有者
ALTER OPERATOR名 ( { left_type | NONE } , { right_type | NONE } )
SET SCHEMA new_schema
ALTER OPERATOR名 ( { left_type | NONE } , { right_type | NONE } )
SET ( { RESTRICT = { res_proc | NONE}
| JOIN = { join_proc | NONE}
} [, ... ] )
パラメーター
name
: 既存の演算子の名前 (スキーマ修飾) 。
left_type
: 演算子の左オペランドのデータ型。演算子に左オペランドがない場合はNONE
を書き込みます。
right_type
: 演算子の右オペランドのデータ型。
new_owner
: オペレーターの新しい所有者。
new_schema
: 演算子の新しいスキーマです。
res_proc
: この演算子の制限選択性推定関数。既存の選択性推定値を除去するためにNONEと書く。
join_proc
: この演算子の結合選択性推定関数。NONEを記述して、既存の選択性推定器を削除します。
例
typetextのカスタム演算子a @ @ b
の所有者を変更します。
ALTER OPERATOR @ @ (テキスト、テキスト) OWNER TO joe;
int[] 型のカスタム演算子a && b
の制限関数と結合選択性推定関数を変更します。
ALTER OPERATOR && (_int4, _int4) SET (RESTRICT = _int_contsel, JOIN = _int_contjoinsel);