Index de modèles spécifiques à PostgreSQLLien vers cette rubrique
Les éléments suivants sont des index spécifiques à PostgreSQL disponibles dans le module django.contrib.postgres.indexes.
BloomIndexLien vers cette rubrique
- class BloomIndex(*expressions, length=None, columns=(), **options)Lien vers cette définition
Crée un index bloom.
Pour utiliser cet index, vous devez activer l’extension bloom dans PostgreSQL. Vous pouvez l’installer en utilisant l’opération de migration
BloomExtension.Indiquez un nombre entier de bits de 1 à 4096 dans le paramètre
lengthpour indiquer la longueur de chaque entrée d’index. La valeur par défaut dans PostgreSQL est 80.Le paramètre
columnsaccepte un tuple ou une liste jusqu’à 32 valeurs de nombres entiers de bits de 1 à 4095.
BrinIndexLien vers cette rubrique
- class BrinIndex(*expressions, autosummarize=None, pages_per_range=None, **options)Lien vers cette définition
Créé un index BRIN.
Définissez le paramètre
autosummarizeàTruepour activer le résumé automatique appliqué par autovacuum.Le paramètre
pages_per_rangeaccepte un nombre entier positif.
BTreeIndexLien vers cette rubrique
- class BTreeIndex(*expressions, fillfactor=None, **options)Lien vers cette définition
Crée un index B-Tree.
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.
GinIndexLien vers cette rubrique
- class GinIndex(*expressions, fastupdate=None, gin_pending_list_limit=None, **options)Lien vers cette définition
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àFalsepour désactiver la technique de mise à jour GIN rapide qui est activée par défaut dans PostgreSQL.Provide an integer number of kilobytes to the gin_pending_list_limit parameter to tune the maximum size of the GIN pending list which is used when
fastupdateis enabled.
GistIndexLien vers cette rubrique
- class GistIndex(*expressions, buffering=None, fillfactor=None, **options)Lien vers cette définition
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 queHStoreFieldou 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àTrueouFalsepour 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.
HashIndexLien vers cette rubrique
- class HashIndex(*expressions, fillfactor=None, **options)Lien vers cette définition
Crée un index hash.
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.
SpGistIndexLien vers cette rubrique
- class SpGistIndex(*expressions, fillfactor=None, **options)Lien vers cette définition
Créé un index SP-GiST.
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.
Expressions OpClass()Lien vers cette rubrique
- class OpClass(expression, name)Lien vers cette définition
Une expression
OpClass()représente l”expressionavec une classe d’opérateur personnalisée permettant de définir des index fonctionnels, des contraintes d’unicité fonctionnelles ou des contraintes d’exclusion. Pour l’utiliser, vous devez ajouter'django.contrib.postgres'dans votre réglageINSTALLED_APPS. Définissez le paramètrenameau nom de la `classe d'opérateur`_.Par exemple :
Index( OpClass(Lower('username'), name='varchar_pattern_ops'), name='lower_username_idx', )crée un index sur
Lower('username')en utilisantvarchar_pattern_ops.UniqueConstraint( OpClass(Upper('description'), name='text_pattern_ops'), name='upper_description_unique', )crée un contrainte d’unicité sur
Upper('description')en utilisanttext_pattern_ops.ExclusionConstraint( name='exclude_overlapping_ops', expressions=[ (OpClass('circle', name='circle_ops'), RangeOperators.OVERLAPS), ], )crée une contrainte d’exclusion sur
circleen utilisantcircle_ops.