PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 17.0 » Référence » Commandes SQL » ALTER OPERATOR

ALTER OPERATOR

ALTER OPERATOR — Modifier la définition d'un opérateur

Synopsis

ALTER OPERATOR nom ( { type_gauche | NONE } , type_droit )
    OWNER TO { nouveau_propriétaire | CURRENT_ROLE | CURRENT_USER | SESSION_USER }

ALTER OPERATOR nom ( { type_gauche | NONE } , type_droit )
    SET SCHEMA nouveau_schema

ALTER OPERATOR nom ( { type_gauche | NONE } , type_droit )
    SET ( {  RESTRICT = { proc_res | NONE }
           | JOIN = { proc_join | NONE }
           | COMMUTATOR = op_com
           | NEGATOR = op_neg
           | HASHES
           | MERGES
          } [, ... ] )

Description

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, vous devez être capable d'utiliser SET ROLE vers le 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.

Paramètres

nom

Le nom de l'opérateur (éventuellement qualifié du nom du schéma).

type_gauche

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.

type_droit

Le type de données de l'opérande droit de l'opérateur.

nouveau_propriétaire

Le nouveau propriétaire de l'opérateur.

nouveau_schéma

Le nouveau schéma de l'opérateur.

proc_res

La fonction d'estimation de la sélectivité de restriction pour cet opérateur ; écrire NONE pour supprimer cet estimateur.

join_proc

La fonction d'estimation de la sélectivité de jointure pour cet opérateur ; écrire NONE pour supprimer cet estimateur.

op_com

Le commutateur de cet opérateur. Peut seulement être modifié si l'opérateur n'a pas de commutateur existant.

op_neg

La négation de l'opérateur. Peut seulement être modifié si l'opérateur n'a pas de naégation existante.

HASHES

Précise si cette opérateur peut supporter une jointure par hachage. Peut seulement être activé, mais pas désactivé.

MERGES

Précise si cette opérateur peut supporter une jointure par assemblage. Peut seulement être activé, mais pas désactivé.

Notes

Référez-vous à Section 36.14 et Section 36.15 pour plus d'informations.

Comme les commutateurs arrivent par paires, chacun étant le commutateur de l'autre, ALTER OPERATOR SET COMMUTATOR va aussi configurer le commutateur de op_com pour être le commutateur cible. De la même façon, ALTER OPERATOR SET NEGATOR configurera aussi le négatif de op_neg comme opérateur cible. De ce fait, vous devez être le propriétaire de l'opérateur commutateur ou négateur, ainsi que de l'opérateur cible.

Exemples

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 && (int[], int[]) SET (RESTRICT = _int_contsel, JOIN = _int_contjoinsel);

Mark the && operator as being its own commutator:

ALTER OPERATOR && (int[], int[]) SET (COMMUTATOR = &&);

Compatibilité

Il n'existe pas d'instructions ALTER OPERATOR dans le standard SQL.