---
title: "Index de modèles spécifiques à PostgreSQL"
version: 3.0
locale: fr
source: https://docs.djangoproject.com/fr/3.0/ref/contrib/postgres/indexes/
canonical: https://djangodocs.dev/fr/3.0/ref/contrib/postgres/indexes/
---
# Index de modèles spécifiques à PostgreSQL

Les éléments suivants sont des [index](/fr/3.0/ref/models/indexes/) spécifiques à PostgreSQL disponibles dans le module `django.contrib.postgres.indexes`.

## `BrinIndex`

#### `class BrinIndex(autosummarize=None, pages_per_range=None, **options)`

Créé un [index BRIN](https://www.postgresql.org/docs/current/brin-intro.html).

Définissez le paramètre `autosummarize` à `True` pour activer le [résumé automatique](https://www.postgresql.org/docs/current/brin-intro.html#BRIN-OPERATION) appliqué par autovacuum.

Le paramètre `pages_per_range` accepte un nombre entier positif.

> **Changed in Django 2.2**
>
> Le paramètre `autosummarize` a été ajouté.

## `BTreeIndex`

#### `class BTreeIndex(fillfactor=None, **options)`

> **New in Django 2.2**

Crée un index B-Tree.

Indiquez un nombre entier entre 10 et 100 pour le paramètre [fillfactor](https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS) afin d’ajuster la compression des pages d’index. La valeur par défaut de PostgreSQL est de 90.

## `GinIndex`

#### `class GinIndex(fastupdate=None, gin_pending_list_limit=None, **options)`

Créé un [index gin](https://www.postgresql.org/docs/current/gin.html).

Pour utiliser cet index sur des types de données ne figurant pas dans les [classes d’opérateurs intégrés](https://www.postgresql.org/docs/current/gin-builtin-opclasses.html), vous devez activer [l’extension btree\_gin](https://www.postgresql.org/docs/current/btree-gin.html) dans PostgreSQL. Vous pouvez installer l’extension par une opération de migration [`BtreeGinExtension`](/fr/3.0/ref/contrib/postgres/operations/#django.contrib.postgres.operations.BtreeGinExtension).

Définissez le paramètre `fastupdate` à `False` pour désactiver la [technique de mise à jour GIN rapide](https://www.postgresql.org/docs/current/gin-implementation.html#GIN-FAST-UPDATE) qui est activée par défaut dans PostgreSQL.

Indiquez un nombre entier d’octets dans le paramètre [gin\_pending\_list\_limit](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-GIN-PENDING-LIST-LIMIT) pour ajuster la taille maximale de la liste d’attente GIN qui est utilisée lorsque `fastupdate` est activé.

## `GistIndex`

#### `class GistIndex(buffering=None, fillfactor=None, **options)`

Crée un [index GiST](https://www.postgresql.org/docs/current/gist.html). Ces index sont automatiquement créés pour les champs spatiaux ayant [`spatial_index=True`](/fr/3.0/ref/contrib/gis/model-api/#django.contrib.gis.db.models.BaseSpatialField.spatial_index). Ils sont également utiles pour d’autres types, tels que [`HStoreField`](/fr/3.0/ref/contrib/postgres/fields/#django.contrib.postgres.fields.HStoreField) ou les [champs d’intervalle](/fr/3.0/ref/contrib/postgres/fields/#range-fields).

Pour utiliser cet index sur des types de données ne figurant pas dans les [classes d’opérateurs gist](https://www.postgresql.org/docs/current/gist-builtin-opclasses.html) intégrées, vous devez activer [l’extension btree\_gist](https://www.postgresql.org/docs/current/btree-gist.html) dans PostgreSQL. Vous pouvez installer l’extension par une opération de migration [`BtreeGistExtension`](/fr/3.0/ref/contrib/postgres/operations/#django.contrib.postgres.operations.BtreeGistExtension).

Définissez le paramètre `buffering` à `True` ou `False` pour activer ou désactiver manuellement la [construction avec tampon](https://www.postgresql.org/docs/current/gist-implementation.html#GIST-BUFFERING-BUILD) de l’index.

Indiquez un nombre entier entre 10 et 100 pour le paramètre [fillfactor](https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS) afin d’ajuster la compression des pages d’index. La valeur par défaut de PostgreSQL est de 90.

## `HashIndex`

#### `class HashIndex(fillfactor=None, **options)`

> **New in Django 2.2**

Crée un index hash.

Indiquez un nombre entier entre 10 et 100 pour le paramètre [fillfactor](https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS) afin d’ajuster la compression des pages d’index. La valeur par défaut de PostgreSQL est de 90.

> **Cet index n’est utilisable qu’à partir de PostgreSQL 10.**
>
> Les index hash sont disponibles dans PostgreSQL depuis longtemps, mais ils souffrent d’un certain nombre de problèmes d’intégrité de données dans les anciennes versions.

## `SpGistIndex`

#### `class SpGistIndex(fillfactor=None, **options)`

> **New in Django 2.2**

Créé un [index SP-GiST](https://www.postgresql.org/docs/current/spgist.html).

Indiquez un nombre entier entre 10 et 100 pour le paramètre [fillfactor](https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS) afin d’ajuster la compression des pages d’index. La valeur par défaut de PostgreSQL est de 90.
