Indeks model khusus PostgreSQL¶
Berikut adalah indexes khusus PostgreSQL tersedia dari modul django.contrib.postgres.indexes
.
BloomIndex
¶
- class BloomIndex(*expressions, length=None, columns=(), **options)[sumber]¶
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.
BrinIndex
¶
- class BrinIndex(*expressions, autosummarize=None, pages_per_range=None, **options)[sumber]¶
Creates a BRIN index.
Lihat parameter
autosummarize
menjadiTrue
untuk mengadakan automatic summarization untuk dilakukan oleh autovacuum.Argumen
pages_per_range
megnambil integer positif.
BTreeIndex
¶
- class BTreeIndex(*expressions, fillfactor=None, deduplicate_items=None, **options)[sumber]¶
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.
Changed in Django 5.1:The
deduplicate_items
parameter was added.
GinIndex
¶
- class GinIndex(*expressions, fastupdate=None, gin_pending_list_limit=None, **options)[sumber]¶
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
menjadiFalse
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.
GistIndex
¶
- class GistIndex(*expressions, buffering=None, fillfactor=None, **options)[sumber]¶
Membuat sebuah GiST index. Indeks-indeks ini otomatis dibuat pada bidang spasial dengan
spatial_index=True
. Mereka juga berguna pada jenis lain, sepertiHStoreField
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
menjadiTrue
atauFalse
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.
HashIndex
¶
- class HashIndex(*expressions, fillfactor=None, **options)[sumber]¶
Membuat sebuah indeks campuran.
Sediakan nilai integer dari 10 ke 100 pada parameter fillfactor untuk mengatur bagaimana halaman indeks dibungkus. Awalan PostgreSQL adalah 90.
SpGistIndex
¶
- class SpGistIndex(*expressions, fillfactor=None, **options)[sumber]¶
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()
expressions¶
- class OpClass(expression, name)[sumber]¶
An
OpClass()
expression represents theexpression
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 yourINSTALLED_APPS
. Set thename
parameter to the name of the operator class.Sebagai contoh:
Index( OpClass(Lower("username"), name="varchar_pattern_ops"), name="lower_username_idx", )
creates an index on
Lower('username')
usingvarchar_pattern_ops
.UniqueConstraint( OpClass(Upper("description"), name="text_pattern_ops"), name="upper_description_unique", )
creates a unique constraint on
Upper('description')
usingtext_pattern_ops
.ExclusionConstraint( name="exclude_overlapping_ops", expressions=[ (OpClass("circle", name="circle_ops"), RangeOperators.OVERLAPS), ], )
creates an exclusion constraint on
circle
usingcircle_ops
.