PostgreSQL specific model indexesP

The following are PostgreSQL specific indexes available from the django.contrib.postgres.indexes module.

BrinIndexP

class BrinIndex(autosummarize=None, pages_per_range=None, **options)[源代码]P

Creates a BRIN index.

Set the autosummarize parameter to True 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.

BTreeIndexP

class BTreeIndex(fillfactor=None, **options)[源代码]P
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.

GinIndexP

class GinIndex(fastupdate=None, gin_pending_list_limit=None, **options)[源代码]P

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.

GistIndexP

class GistIndex(buffering=None, fillfactor=None, **options)[源代码]P

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.

HashIndexP

class HashIndex(fillfactor=None, **options)[源代码]P
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.

SpGistIndexP

class SpGistIndex(fillfactor=None, **options)[源代码]P
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.