PostgreSQL specific model indexesΒΆ
The following are PostgreSQL specific indexes
available from the django.contrib.postgres.indexes
module.
BrinIndex
ΒΆ
-
class
BrinIndex
(autosummarize=None, pages_per_range=None, **options)ΒΆ Creates a BRIN index.
Set the
autosummarize
parameter toTrue
to enable automatic summarization to be performed by autovacuum.The
pages_per_range
argument takes a positive integer.Changed in Django 2.2:The
autosummarize
parameter was added.
BTreeIndex
ΒΆ
-
class
BTreeIndex
(fillfactor=None, **options)ΒΆ - New in Django 2.2.
Creates a B-Tree index.
Provide an integer value from 10 to 100 to the fillfactor parameter to tune how packed the index pages will be. PostgreSQLβs default is 90.
GinIndex
ΒΆ
-
class
GinIndex
(fastupdate=None, gin_pending_list_limit=None, **options)ΒΆ Creates a 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.Set the
fastupdate
parameter toFalse
to disable the GIN Fast Update Technique thatβs enabled by default in PostgreSQL.Provide an integer number of bytes 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
(buffering=None, fillfactor=None, **options)ΒΆ Creates a GiST index. These indexes are automatically created on spatial fields with
spatial_index=True
. Theyβre also useful on other types, such asHStoreField
or the 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.Set the
buffering
parameter toTrue
orFalse
to manually enable or disable buffering build of the index.Provide an integer value from 10 to 100 to the fillfactor parameter to tune how packed the index pages will be. PostgreSQLβs default is 90.
HashIndex
ΒΆ
-
class
HashIndex
(fillfactor=None, **options)ΒΆ - New in Django 2.2.
Creates a hash index.
Provide an integer value from 10 to 100 to the fillfactor parameter to tune how packed the index pages will be. PostgreSQLβs default is 90.
Use this index only on PostgreSQL 10 and later
Hash indexes have been available in PostgreSQL for a long time, but they suffer from a number of data integrity issues in older versions.
SpGistIndex
ΒΆ
-
class
SpGistIndex
(fillfactor=None, **options)ΒΆ - New in Django 2.2.
Creates an SP-GiST index.
Provide an integer value from 10 to 100 to the fillfactor parameter to tune how packed the index pages will be. PostgreSQLβs default is 90.