PostgreSQL-specifika modellindexLink to this heading

Följande är PostgreSQL-specifika indexes tillgängliga från modulen django.contrib.postgres.indexes.

BloomIndexLink to this heading

class BloomIndex(*expressions, length=None, columns=(), **options)Link to this definition

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.

BrinIndexLink to this heading

class BrinIndex(*expressions, autosummarize=None, pages_per_range=None, **options)Link to this definition

Skapar ett BRIN-index.

Sätt parametern autosummarize till True för att aktivera automatisk sammanfattning som ska utföras av autovacuum.

Argumentet pages_per_range tar ett positivt heltal.

BTreeIndexLink to this heading

class BTreeIndex(*expressions, fillfactor=None, deduplicate_items=None, **options)Link to this definition

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.

GinIndexLink to this heading

class GinIndex(*expressions, fastupdate=None, gin_pending_list_limit=None, **options)Link to this definition

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 till False 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.

GistIndexLink to this heading

class GistIndex(*expressions, buffering=None, fillfactor=None, **options)Link to this definition

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 exempel HStoreField 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 till True eller False 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.

HashIndexLink to this heading

class HashIndex(*expressions, fillfactor=None, **options)Link to this definition

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.

SpGistIndexLink to this heading

class SpGistIndex(*expressions, fillfactor=None, **options)Link to this definition

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()Link to this heading

class OpClass(expression, name)Link to this definition

Ett OpClass()-uttryck representerar uttrycket 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 din INSTALLED_APPS. Ställ in parametern name till namnet på `operatorklassen`_.

Till exempel:

Code
Index(
    OpClass(Lower("username"), name="varchar_pattern_ops"),
    name="lower_username_idx",
)

skapar ett index på Lower('username') med hjälp av varchar_pattern_ops.

Code
UniqueConstraint(
    OpClass(Upper("description"), name="text_pattern_ops"),
    name="upper_description_unique",
)

skapar en unik begränsning på Upper('description') med hjälp av text_pattern_ops.

Code
ExclusionConstraint(
    name="exclude_overlapping_ops",
    expressions=[
        (OpClass("circle", name="circle_ops"), RangeOperators.OVERLAPS),
    ],
)

skapar en uteslutningsbegränsning på circle med hjälp av circle_ops.