Index de modèles spécifiques à PostgreSQL

Les éléments suivants sont des index spécifiques à PostgreSQL disponibles dans le module django.contrib.postgres.indexes.

BrinIndex

class BrinIndex(pages_per_range=None, **options)[source]

Créé un index BRIN.

Le paramètre pages_per_range accepte un nombre entier positif.

GinIndex

class GinIndex(fastupdate=None, gin_pending_list_limit=None, **options)[source]

Créé un index gin.

Pour utiliser cet index sur des types de données ne figurant pas dans les classes d’opérateurs intégrés, vous devez activer l’extension btree_gin dans PostgreSQL. Vous pouvez installer l’extension par une opération de migration BtreeGinExtension.

Définissez le paramètre fastupdate à False pour désactiver la technique de mise à jour GIN rapide qui est activée par défaut dans PostgreSQL.

Indiquez un nombre entier d’octets dans le paramètre gin_pending_list_limit pour ajuster la taille maximale de la liste d’attente GIN qui est utilisée lorsque fastupdate est activé. Ce paramètre nécessite PostgreSQL ≥ 9.5.

Changed in Django 2.0:

Les paramètres fastupdate et gin_pending_list_limit ont été ajoutés.

GistIndex

class GistIndex(buffering=None, fillfactor=None, **options)[source]
New in Django 2.0:

Crée un index GiST. Ces index sont automatiquement créés pour les champs spatiaux ayant spatial_index=True. Ils sont également utiles pour d’autres types, tels que HStoreField ou les champs d’intervalle.

Pour utiliser cet index sur des types de données ne figurant pas dans les classes d’opérateurs gist intégrées, vous devez activer l’extension btree_gist dans PostgreSQL. Vous pouvez installer l’extension par une opération de migration BtreeGistExtension.

Définissez le paramètre buffering à True ou False pour activer ou désactiver manuellement la construction avec tampon de l’index.

Indiquez un nombre entier entre 10 et 100 pour le paramètre fillfactor afin d’ajuster la compression des pages d’index. La valeur par défaut de PostgreSQL est de 90.

Back to Top