Section courante

A propos

Section administrative du site

CREATE OPERATOR CLASS

Créer une classe d'opérateur
PostgreSQL

Syntaxe

CREATE OPERATOR CLASS name [ DEFAULT ] FOR TYPE data_type
USING index_method [ FAMILY family_name ] AS
{ OPERATOR strategy_number operator_name [ ( op_type, op_type ) ] [ FOR SEARCH | FOR ORDER BY sort_family_name ]
| FUNCTION support_number [ ( op_type [ , op_type ] ) ] function_name ( argument_type [, ...] )
| STORAGE storage_type
} [, ... ]

Paramètres

Nom Description
name Ce paramètre permet d'indiquer le nom de la classe d'opérateurs à créer. Le nom peut être qualifié de schéma.
DEFAULT Ce paramètre permet d'indiquer, s'il est présent, que la classe d'opérateur deviendra la classe d'opérateur par défaut pour son type de données. Au plus une classe d'opérateur peut être la valeur par défaut pour un type de données et une méthode d'indexation spécifiques.
data_type Ce paramètre permet d'indiquer le type de données de colonne auquel cette classe d'opérateurs est destinée.
index_method Ce paramètre permet d'indiquer le nom de la méthode d'indexation pour cette classe d'opérateur.
family_name Ce paramètre permet d'indiquer le nom de la famille d'opérateurs existante à laquelle ajouter cette classe d'opérateurs. Si non spécifié, une famille nommée de la même manière que la classe d'opérateur est utilisée (en la créant, si elle n'existe pas déjà).
strategy_number Ce paramètre permet d'indiquer le numéro de stratégie de la méthode d'indexation pour un opérateur associé à la classe d'opérateur.
operator_name Ce paramètre permet d'indiquer le nom (éventuellement qualifié par le schéma) d'un opérateur associé à la classe d'opérateur.
op_type Ce paramètre permet d'indiquer le type d'opérateur. Dans une clause OPERATOR, le(s) type(s) de données d'opérande de l'opérateur, ou NONE pour signifier un opérateur unaire gauche ou unaire droite. Les types de données d'opérande peuvent être omis dans le cas normal où ils sont identiques au type de données de la classe d'opérateur. Dans une clause FUNCTION, le(s) type(s) de données d'opérande que la fonction est censée prendre en charge, s'il est différent du ou des types de données d'entrée de la fonction (pour les fonctions de comparaison B-tree et les fonctions de hachage) ou le type de données de la classe (pour les fonctions de prise en charge du tri par B-tree et toutes les fonctions des classes d'opérateurs GiST, SP-GiST, GIN et BRIN). Ces valeurs par défaut sont correctes, et donc op_type n'a pas besoin d'être spécifié dans les clauses FUNCTION, sauf dans le cas d'une fonction de support de tri B-tree étant censée prendre en charge les comparaisons de types de données croisées.
sort_family_name Ce paramètre permet d'indiquer le nom (éventuellement qualifié par le schéma) d'une famille d'opérateurs B-tree existante décrivant l'ordre de tri associé à un opérateur de classement. Si ni FOR SEARCH ni FOR ORDER BY n'est spécifié, FOR SEARCH est la valeur par défaut.
support_number Ce paramètre permet d'indiquer le numéro de procédure de support de la méthode d'indexation pour une fonction associée à la classe d'opérateur.
function_name Ce paramètre permet d'indiquer le nom (éventuellement qualifié par le schéma) d'une fonction étant une procédure de prise en charge de la méthode d'indexation pour la classe d'opérateur.
argument_type Ce paramètre permet d'indiquer le(s) type(s) de données de paramètre de la fonction.
storage_type Ce paramètre permet d'indiquer le type de données actuellement entreposé dans l'index. Normalement, c'est le même que le type de données de colonne, mais certaines méthodes d'indexation (actuellement GiST, GIN et BRIN) permettent qu'il soit différent. La clause STORAGE doit être omise sauf si la méthode d'indexation autorise l'utilisation d'un type différent. Si la colonne data_type est spécifiée comme anyarray, le storage_type peut être déclaré comme anyelement pour indiquer que les entrées d'index sont des membres du type d'élément appartenant au type de tableau réel pour lequel chaque index particulier est créé.

Description

Cette instruction permet de définir une nouvelle classe d'opérateur.



Dernière mise à jour : Jeudi, le 14 Octobre 2021