Indeks model khusus PostgreSQLLink to this heading

Berikut adalah indexes khusus PostgreSQL tersedia dari modul django.contrib.postgres.indexes.

BloomIndexLink to this heading

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

Creates a bloom index.

To use this index access you need to activate the bloom extension on PostgreSQL. You can install it using the BloomExtension migration operation.

Provide an integer number of bits from 1 to 4096 to the length parameter to specify the length of each index entry. PostgreSQL's default is 80.

The columns argument takes a tuple or list of up to 32 values that are integer number of bits from 1 to 4095.

BrinIndexLink to this heading

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

Creates a BRIN index.

Lihat parameter autosummarize menjadi True untuk mengadakan automatic summarization untuk dilakukan oleh autovacuum.

Argumen pages_per_range megnambil integer positif.

BTreeIndexLink to this heading

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

Membuat sebuah indeks B-Tree.

Sediakan nilai integer dari 10 ke 100 pada parameter fillfactor untuk mengatur bagaimana halaman indeks dibungkus. Awalan PostgreSQL adalah 90.

Provide a boolean value to the deduplicate_items parameter to control whether deduplication is enabled. PostgreSQL enables deduplication by default.

GinIndexLink to this heading

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

Membuat sebuah gin index.

To use this index on data types not in the built-in operator classes, you need to activate the btree_gin extension on PostgreSQL. You can install it using the BtreeGinExtension migration operation.

Setel parameter fastupdate menjadi False untuk meniadakan GIN Fast Update Technique yang diadakan secara awalan di 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 fastupdate is enabled.

GistIndexLink to this heading

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

Membuat sebuah GiST index. Indeks-indeks ini otomatis dibuat pada bidang spasial dengan spatial_index=True. Mereka juga berguna pada jenis lain, seperti HStoreField atau range fields.

To use this index on data types not in the built-in gist operator classes, you need to activate the btree_gist extension on PostgreSQL. You can install it using the BtreeGistExtension migration operation.

Setel parameter buffering menjadi True atau False untuk secara manual mengadakan atau meniadakan buffering build dari indeks.

Sediakan nilai integer dari 10 ke 100 pada parameter fillfactor untuk mengatur bagaimana halaman indeks dibungkus. Awalan PostgreSQL adalah 90.

HashIndexLink to this heading

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

Membuat sebuah indeks campuran.

Sediakan nilai integer dari 10 ke 100 pada parameter fillfactor untuk mengatur bagaimana halaman indeks dibungkus. Awalan PostgreSQL adalah 90.

SpGistIndexLink to this heading

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

Membuat sebuah SP-GiST index.

Sediakan nilai integer dari 10 ke 100 pada parameter fillfactor untuk mengatur bagaimana halaman indeks dibungkus. Awalan PostgreSQL adalah 90.

OpClass() expressionsLink to this heading

class OpClass(expression, name)Link to this definition

An OpClass() expression represents the expression with a custom operator class that can be used to define functional indexes, functional unique constraints, or exclusion constraints. To use it, you need to add 'django.contrib.postgres' in your INSTALLED_APPS. Set the name parameter to the name of the operator class.

Sebagai contoh:

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

creates an index on Lower('username') using varchar_pattern_ops.

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

creates a unique constraint on Upper('description') using text_pattern_ops.

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

creates an exclusion constraint on circle using circle_ops.