Индексы моделей, специфичные для PostgreSQL¶
Ниже перечислены специфические для PostgreSQL indexes, доступные из модуля django.contrib.postgres.indexes
.
BrinIndex
¶
-
class
BrinIndex
(autosummarize=None, pages_per_range=None, **options)[исходный код]¶ Создает BRIN index.
Установите параметр
autosummarize
в значениеTrue
, чтобы включить automatic summarization для выполнения автовакуумирования.Аргумент
pages_per_range
принимает целое положительное число.Changed in Django 2.2:Был добавлен параметр
autosummarize
.
BTreeIndex
¶
-
class
BTreeIndex
(fillfactor=None, **options)[исходный код]¶ - New in Django 2.2.
Создает индекс B-дерева.
Введите целочисленное значение от 10 до 100 в параметр fillfactor, чтобы настроить степень заполнения страниц индекса. По умолчанию в PostgreSQL используется значение 90.
GinIndex
¶
-
class
GinIndex
(fastupdate=None, gin_pending_list_limit=None, **options)[исходный код]¶ Создает gin index.
Чтобы использовать этот индекс на типах данных, не входящих в built-in operator classes, необходимо активировать btree_gin extension на PostgreSQL. Вы можете установить его с помощью операции миграции
BtreeGinExtension
.Установите параметр
fastupdate
в значениеFalse
, чтобы отключить GIN Fast Update Technique, который включен по умолчанию в PostgreSQL.Введите целое число байт в параметр gin_pending_list_limit для настройки максимального размера списка ожидающих GIN, который используется, когда включено
fastupdate
. Этот параметр требует PostgreSQL ≥ 9.5.
GistIndex
¶
-
class
GistIndex
(buffering=None, fillfactor=None, **options)[исходный код]¶ Создает индекс GiST index. Эти индексы автоматически создаются на пространственных полях с
spatial_index=True
. Они также полезны на других типах, таких какHStoreField
или range fields.Чтобы использовать этот индекс на типах данных, не входящих во встроенный gist operator classes, необходимо активировать btree_gist extension на PostgreSQL. Вы можете установить его с помощью операции миграции
BtreeGistExtension
.Установите параметр
buffering
в значениеTrue
илиFalse
, чтобы вручную включить или выключить buffering build индекса.Введите целочисленное значение от 10 до 100 в параметр fillfactor, чтобы настроить степень заполнения страниц индекса. По умолчанию в PostgreSQL используется значение 90.
HashIndex
¶
-
class
HashIndex
(fillfactor=None, **options)[исходный код]¶ - New in Django 2.2.
Создает хэш-индекс.
Введите целочисленное значение от 10 до 100 в параметр fillfactor, чтобы настроить степень заполнения страниц индекса. По умолчанию в PostgreSQL используется значение 90.
Используйте этот индекс только в PostgreSQL 10 и более поздних версиях
Хэш-индексы доступны в PostgreSQL уже давно, но в старых версиях они страдают от ряда проблем с целостностью данных.
SpGistIndex
¶
-
class
SpGistIndex
(fillfactor=None, **options)[исходный код]¶ - New in Django 2.2.
Создает SP-GiST index.
Введите целочисленное значение от 10 до 100 в параметр fillfactor, чтобы настроить степень заполнения страниц индекса. По умолчанию в PostgreSQL используется значение 90.