The following are PostgreSQL specific indexes
available from the django.contrib.postgres.indexes
module.
BrinIndex
¶BrinIndex
(pages_per_range=None, **options)[source]¶Creates a BRIN index.
The pages_per_range
argument takes a positive integer.
GinIndex
¶GinIndex
(fastupdate=None, gin_pending_list_limit=None, **options)[source]¶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 to False
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. This parameter requires PostgreSQL ≥ 9.5.
The fastupdate
and gin_pending_list_limit
parameters were added.
GistIndex
¶GistIndex
(buffering=None, fillfactor=None, **options)[source]¶Creates a GiST index. These indexes
are automatically created on spatial fields with spatial_index=True
. They’re
also useful on other types, such as
HStoreField
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 to True
or False
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.
Oct 31, 2018