---
title: "PostgreSQL-specifika modellindex"
version: 6.1
locale: sv
source: https://docs.djangoproject.com/sv/6.1/ref/contrib/postgres/indexes/
canonical: https://djangodocs.dev/sv/6.1/ref/contrib/postgres/indexes/
---
# PostgreSQL-specifika modellindex

Följande är PostgreSQL-specifika [indexes](/sv/6.1/ref/models/indexes/) tillgängliga från modulen `django.contrib.postgres.indexes`.

## `BloomIndex`

#### `class BloomIndex(*expressions, length=None, columns=(), **options)`

Skapar ett [bloom](https://www.postgresql.org/docs/current/bloom.html)-index.

För att använda denna indexåtkomst måste du aktivera [bloom](https://www.postgresql.org/docs/current/bloom.html)-tillägget på PostgreSQL. Du kan installera den med hjälp av [`BloomExtension`](/sv/6.1/ref/contrib/postgres/operations/#django.contrib.postgres.operations.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)`

Skapar ett [BRIN-index](https://www.postgresql.org/docs/current/brin.html).

Sätt parametern `autosummarize` till `True` för att aktivera [automatisk sammanfattning](https://www.postgresql.org/docs/current/brin.html#BRIN-OPERATION) som ska utföras av autovacuum.

Argumentet `pages_per_range` tar ett positivt heltal.

## `BTreeIndex`

#### `class BTreeIndex(*expressions, fillfactor=None, deduplicate_items=None, **options)`

Skapar ett B-Tree-index.

Ge ett heltalsvärde från 10 till 100 till [fillfactor](https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS)-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](https://www.postgresql.org/docs/current/btree.html#BTREE-DEDUPLICATION)-parametern för att kontrollera om deduplicering är aktiverad. PostgreSQL aktiverar deduplicering som standard.

## `GinIndex`

#### `class GinIndex(*expressions, fastupdate=None, gin_pending_list_limit=None, **options)`

Skapar ett [gin-index](https://www.postgresql.org/docs/current/gin.html).

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](https://www.postgresql.org/docs/current/btree-gin.html) på PostgreSQL. Du kan installera den med hjälp av [`BtreeGinExtension`](/sv/6.1/ref/contrib/postgres/operations/#django.contrib.postgres.operations.BtreeGinExtension) migreringsoperation.

Ställ in parametern `fastupdate` till `False` för att inaktivera [GIN Fast Update Technique](https://www.postgresql.org/docs/current/gin.html#GIN-FAST-UPDATE) som är aktiverad som standard i PostgreSQL.

Ange ett heltal i kilobyte i parametern [gin\_pending\_list\_limit](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-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)`

Skapar ett [GiST-index](https://www.postgresql.org/docs/current/gist.html). Dessa index skapas automatiskt på spatiala fält med [`spatial_index=True`](/sv/6.1/ref/contrib/gis/model-api/#django.contrib.gis.db.models.BaseSpatialField.spatial_index). De är också användbara på andra typer, till exempel [`HStoreField`](/sv/6.1/ref/contrib/postgres/fields/#django.contrib.postgres.fields.HStoreField) eller [range fields](/sv/6.1/ref/contrib/postgres/fields/#range-fields).

För att använda detta index på datatyper som inte finns i de inbyggda [gistoperatörsklasserna](https://www.postgresql.org/docs/current/gist.html#GIST-BUILTIN-OPCLASSES) måste du aktivera [btree\_gist-tillägget](https://www.postgresql.org/docs/current/btree-gist.html) på PostgreSQL. Du kan installera den med hjälp av [`BtreeGistExtension`](/sv/6.1/ref/contrib/postgres/operations/#django.contrib.postgres.operations.BtreeGistExtension) migreringsoperation.

Sätt parametern `buffring` till `True` eller `False` för att manuellt aktivera eller inaktivera [buffring build](https://www.postgresql.org/docs/current/gist.html#GIST-BUFFERING-BUILD) av indexet.

Ge ett heltalsvärde från 10 till 100 till [fillfactor](https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS)-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)`

Skapar ett hashindex.

Ge ett heltalsvärde från 10 till 100 till [fillfactor](https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS)-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)`

Skapar ett [SP-GiST-index](https://www.postgresql.org/docs/current/spgist.html).

Ge ett heltalsvärde från 10 till 100 till [fillfactor](https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS)-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)`

Ett `OpClass()`-uttryck representerar `uttrycket` med en anpassad [operatorklass](https://www.postgresql.org/docs/current/indexes-opclass.html) 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`](/sv/6.1/ref/settings/#std-setting-INSTALLED_APPS). Ställ in parametern `name` till namnet på .

Till exempel:

```
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`.

```
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`.

```
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`.
