Documentation PostgreSQL 14.22 » Annexes » Modules supplémentaires fournis » btree_gin

Précédent | Niveau supérieur | Suivant
F.5. bloom | Sommaire | F.7. btree_gist

## F.6. btree_gin

`btree_gin` fournit des échantillons de classes d'opérateurs GIN qui codent un comportement équivalent à un B-tree pour les types `int2`, `int4`, `int8`, `float4`, `float8`, `timestamp with time zone`, `timestamp without time zone`, `time with time zone`, `time without time zone`, `date`, `interval`, `oid`, `money`, `"char"`, `varchar`, `text`, `bytea`, `bit`, `varbit`, `macaddr`, `macaddr8`, `inet`, `cidr`, `uuid`, `name`, `bool`, `bpchar` et tous les types `enum`.

En général, ces classes d'opérateurs ne sont pas plus rapides que les méthodes standard d'indexation B-tree équivalentes, et il leur manque une fonctionnalité majeure du code B-tree standard : la capacité à forcer l'unicité. Toutefois, elles sont utiles pour tester GIN et comme base pour développer d'autres classes d'opérateurs GIN. Par ailleurs, pour des requêtes qui testent à la fois une colonne indexable via GIN et une colonne indexable par B-tree, il peut être plus efficace de créer un index GIN multi-colonnes qui utilise l'une de ces classes d'opérateurs que de créer deux index séparés qui devront être combinés par une opération de bitmap ET.

Ce module est considéré comme « trusted », ce qui signifie qu'il peut être installé par des utilisateurs simples (sans attribut `SUPERUSER`) et qui ont l'attribut `CREATE` sur la base de données courante.

### F.6.1. Exemple d'utilisation

    CREATE TABLE test (a int4);
    -- crée l'index
    CREATE INDEX testidx ON test USING GIN (a);
    -- requête
    SELECT * FROM test WHERE a < 10;

### F.6.2. Auteurs

Teodor Sigaev (`<teodor@stack.net>`) et Oleg Bartunov (`<oleg@sai.msu.su>`). Voir http://www.sai.msu.su/~megera/oddmuse/index.cgi/Gin pour plus d'informations.