PostgreSQL-specifika modellindex¶
Följande är PostgreSQL-specifika indexes tillgängliga från modulen django.contrib.postgres.indexes.
BloomIndex¶
- class BloomIndex(*expressions, length=None, columns=(), **options)[source]¶
Skapar ett bloom-index.
För att använda denna indexåtkomst måste du aktivera bloom-tillägget på PostgreSQL. Du kan installera den med hjälp av
BloomExtensionmigreringsoperation.Ge ett heltal antal bitar från 1 till 4096 till parametern
lengthför att ange längden på varje indexpost. PostgreSQL: s standard är 80.Argumentet
columnstar en tupel eller lista med upp till 32 värden som är heltal med antal bitar från 1 till 4095.
BrinIndex¶
- class BrinIndex(*expressions, autosummarize=None, pages_per_range=None, **options)[source]¶
Skapar ett BRIN-index.
Sätt parametern
autosummarizetillTrueför att aktivera automatisk sammanfattning som ska utföras av autovacuum.Argumentet
pages_per_rangetar ett positivt heltal.
BTreeIndex¶
- class BTreeIndex(*expressions, fillfactor=None, deduplicate_items=None, **options)[source]¶
Skapar ett B-Tree-index.
Ge ett heltalsvärde från 10 till 100 till fillfactor-parametern för att ställa in hur packade indexsidorna kommer att vara. PostgreSQL: s standard är 90.
Ge ett boolskt värde till deduplicate_items-parametern för att kontrollera om deduplicering är aktiverad. PostgreSQL aktiverar deduplicering som standard.
Changed in Django 5.1:Parametern
deduplicate_itemshar lagts till.
GinIndex¶
- class GinIndex(*expressions, fastupdate=None, gin_pending_list_limit=None, **options)[source]¶
Skapar ett gin-index.
För att använda detta index på datatyper som inte finns i de inbyggda operatörsklasserna <https://www.postgresql.org/docs/current/gin.html#GIN-BUILTIN-OPCLASSES>`_ måste du aktivera btree_gin-tillägget på PostgreSQL. Du kan installera den med hjälp av
BtreeGinExtensionmigreringsoperation.Ställ in parametern
fastupdatetillFalseför att inaktivera GIN Fast Update Technique som är aktiverad som standard i PostgreSQL.Ange ett heltal i kilobyte i parametern gin_pending_list_limit för att ställa in den maximala storleken på GIN:s väntelista som används när
fastupdateär aktiverat.
GistIndex¶
- class GistIndex(*expressions, buffering=None, fillfactor=None, **options)[source]¶
Skapar ett GiST-index. Dessa index skapas automatiskt på spatiala fält med
spatial_index=True. De är också användbara på andra typer, till exempelHStoreFieldeller range fields.För att använda detta index på datatyper som inte finns i de inbyggda gistoperatörsklasserna måste du aktivera btree_gist-tillägget på PostgreSQL. Du kan installera den med hjälp av
BtreeGistExtensionmigreringsoperation.Sätt parametern
buffringtillTrueellerFalseför att manuellt aktivera eller inaktivera buffring build av indexet.Ge ett heltalsvärde från 10 till 100 till fillfactor-parametern för att ställa in hur packade indexsidorna kommer att vara. PostgreSQL: s standard är 90.
HashIndex¶
- class HashIndex(*expressions, fillfactor=None, **options)[source]¶
Skapar ett hashindex.
Ge ett heltalsvärde från 10 till 100 till fillfactor-parametern för att ställa in hur packade indexsidorna kommer att vara. PostgreSQL: s standard är 90.
SpGistIndex¶
- class SpGistIndex(*expressions, fillfactor=None, **options)[source]¶
Skapar ett SP-GiST-index.
Ge ett heltalsvärde från 10 till 100 till fillfactor-parametern för att ställa in hur packade indexsidorna kommer att vara. PostgreSQL: s standard är 90.
uttryck för OpClass()¶
- class OpClass(expression, name)[source]¶
Ett
OpClass()-uttryck representeraruttrycketmed en anpassad operatorklass som kan användas för att definiera funktionella index, funktionella unika begränsningar eller uteslutningsbegränsningar. För att använda det måste du lägga till'django.contrib.postgres'i dinINSTALLED_APPS. Ställ in parameternnametill namnet på `operatorklassen`_.Till exempel:
Index( OpClass(Lower("username"), name="varchar_pattern_ops"), name="lower_username_idx", )
skapar ett index på
Lower('username')med hjälp avvarchar_pattern_ops.UniqueConstraint( OpClass(Upper("description"), name="text_pattern_ops"), name="upper_description_unique", )
skapar en unik begränsning på
Upper('description')med hjälp avtext_pattern_ops.ExclusionConstraint( name="exclude_overlapping_ops", expressions=[ (OpClass("circle", name="circle_ops"), RangeOperators.OVERLAPS), ], )
skapar en uteslutningsbegränsning på
circlemed hjälp avcircle_ops.