Documentation PostgreSQL 15.15 » Référence » Commandes SQL » ALTER OPERATOR

Précédent | Niveau supérieur | Suivant
ALTER MATERIALIZED VIEW | Sommaire | ALTER OPERATOR CLASS

## 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 }
             } [, ... ] )

## 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, 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.

## 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.

## 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 && (_int4, _int4) SET (RESTRICT = _int_contsel, JOIN = _int_contjoinsel);

## Compatibilité

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

## Voir aussi

CREATE OPERATOR, DROP OPERATOR