+ALTER OPERATOR nom ( { type_gauche | NONE } , { type_droit | NONE } ) OWNER TO { nouveau_propriétaire | CURRENT_USER | SESSION_USER } ALTER OPERATOR nom ( { type_gauche | NONE } , { type_droit | NONE } ) SET SCHEMA nouveau_schema ALTER OPERATOR nom ( { type_gauche | NONE } , { type_droit | NONE } ) SET ( { RESTRICT = { proc_res | NONE } | JOIN = { proc_join | NONE } } [, ... ] )
ALTER OPERATOR modifie la définition d'un opérateur.
Seul le propriétaire de l'opérateur peut utiliser ALTER OPERATOR. Pour modifier le propriétaire, il est nécessaire d'être un membre direct ou indirect du nouveau rôle propriétaire, et ce rôle doit avoir le droit CREATE sur le schéma de l'opérateur. Ces restrictions assurent que la modification du propriétaire produise le même résultat que la suppression et la re-création de l'opérateur ; néanmoins, un superutilisateur peut modifier le propriétaire de n'importe quel opérateur.
Le nom de l'opérateur (éventuellement qualifié du nom du schéma).
Le type de données de l'opérande gauche de l'opérateur ; NONE si l'opérateur n'a pas d'opérande gauche.
Le type de données de l'opérande droit de l'opérateur ; NONE si l'opérateur n'a pas d'opérande droit.
Le nouveau propriétaire de l'opérateur.
Le nouveau schéma de l'opérateur.
La fonction d'estimation de la sélectivité de restriction pour cet opérateur ; écrire NONE pour supprimer cet estimateur.
La fonction d'estimation de la sélectivité de jointure pour cet opérateur ; écrire NONE pour supprimer cet estimateur.
Modifier le propriétaire d'un opérateur personnalisé a @@ b pour le type text :
ALTER OPERATOR @@ (text, text) OWNER TO joe;
Modifier les fonctions de sélectivité de restriction et de jointure pour un opérateur personnalisé a && b pour le type int[]:
ALTER OPERATOR && (_int4, _int4) SET (RESTRICT = _int_contsel, JOIN = _int_contjoinsel);