Berikut adalah indexes khusus PostgreSQL tersedia dari modul django.contrib.postgres.indexes
.
BloomIndex
¶BloomIndex
(*expressions, length=None, columns=(), **options)¶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
¶BrinIndex
(*expressions, autosummarize=None, pages_per_range=None, **options)¶Membuat sebuah BRIN index.
Lihat parameter autosummarize
menjadi True
untuk mengadakan automatic summarization untuk dilakukan oleh autovacuum.
Argumen pages_per_range
megnambil integer positif.
BTreeIndex
¶BTreeIndex
(*expressions, fillfactor=None, **options)¶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.
GinIndex
¶GinIndex
(*expressions, fastupdate=None, gin_pending_list_limit=None, **options)¶Membuat sebuah gin index.
Untuk menggunakan indeks ini pada jenis data tidak dalam built-in operator classes, anda butuh mengaktifkan btree_gin extension pada PostgreSQL. Anda dapat memasang itu menggunakan tindakan perpindahan BtreeGinExtension
.
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.
GistIndex
¶GistIndex
(*expressions, buffering=None, fillfactor=None, **options)¶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.
Untuk menggunakan indeks ini pada jenis-jenis data tidak dalam siap-pakai gist operator classes, anda butuh mengaktifkan btree_gist extension pada PostgreSQL. Anda dapat memasang itu menggunakan tindakan perpindahan BtreeGistExtension
.
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.
HashIndex
¶HashIndex
(*expressions, fillfactor=None, **options)¶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
¶SpGistIndex
(*expressions, fillfactor=None, **options)¶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¶OpClass
(expression, name)¶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:
Index(
OpClass(Lower("username"), name="varchar_pattern_ops"),
name="lower_username_idx",
)
creates an index on Lower('username')
using varchar_pattern_ops
.
UniqueConstraint(
OpClass(Upper("description"), name="text_pattern_ops"),
name="upper_description_unique",
)
creates a unique constraint on Upper('description')
using
text_pattern_ops
.
ExclusionConstraint(
name="exclude_overlapping_ops",
expressions=[
(OpClass("circle", name="circle_ops"), RangeOperators.OVERLAPS),
],
)
creates an exclusion constraint on circle
using circle_ops
.
Mei 07, 2024