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
BloomExtension
migreringsoperation.Ge ett heltal antal bitar från 1 till 4096 till parametern
length
för att ange längden på varje indexpost. PostgreSQL: s standard är 80.Argumentet
columns
tar 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
autosummarize
tillTrue
för att aktivera automatisk sammanfattning som ska utföras av autovacuum.Argumentet
pages_per_range
tar 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_items
har 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
BtreeGinExtension
migreringsoperation.Ställ in parametern
fastupdate
tillFalse
fö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 <https://www.postgresql.org/docs/current/gist.html>`_. Dessa index skapas automatiskt på spatiala fält med
spatial_index=True
. De är också användbara på andra typer, till exempelHStoreField
eller 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
BtreeGistExtension
migreringsoperation.Sätt parametern
buffring
tillTrue
ellerFalse
fö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 representeraruttrycket
med 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 parameternname
till 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å
circle
med hjälp avcircle_ops
.