Le catalogue pg_opclass définit les classes d'opérateurs de méthodes d'accès aux index. Chaque classe d'opérateurs définit la sémantique pour les colonnes d'index d'un type particulier et d'une méthode d'accès particulière. Une classe d'opérateur définit essentiellement qu'une famille d'opérateur particulier est applicable à un type de données indexable particulier. L'ensemble des opérateurs de la famille actuellement utilisables avec la colonne indexée sont tous ceux qui acceptent le type de données de la colonne en tant qu'entrée du côté gauche.
Les classes d'opérateurs sont longuement décrites dans la Section 35.14, « Interfacer des extensions d'index ».
Tableau 47.32. Colonnes de pg_opclass
Nom | Type | Références | Description |
---|---|---|---|
oid | oid | Identifiant de ligne (attribut caché ; doit être sélectionné explicitement) | |
opcmethod | oid | pg_am.oid | Méthode d'accès à l'index pour laquelle est définie la classe d'opérateurs |
opcname | name | Nom de la classe d'opérateurs | |
opcnamespace | oid | pg_namespace.oid | Namespace de la classe d'opérateurs |
opcowner | oid | pg_authid.oid | Propriétaire de la classe d'opérateurs |
opcfamily | oid | pg_opfamily.oid | Famille d'opérateur contenant la classe d'opérateur |
opcintype | oid | pg_type.oid | Type de données que la classe d'opérateurs indexe |
opcdefault | bool | Vrai si la classe d'opérateurs est la classe par défaut pour opcintype | |
opckeytype | oid | pg_type.oid | Type de données stocké dans l'index ou 0 s'il s'agit du même que opcintype |
L'opcmethod d'une classe d'opérateurs doit coïncider avec l'opfmethod de la famille d'opérateurs qui le contient. Il ne doit pas non plus y avoir plus d'une ligne pg_opclass pour laquelle opcdefault est vrai, quelque soit la combinaison de opcmethod et opcintype.