Индексы моделей PostgreSQL
Ниже приведены индексы, специфичные для PostgreSQL, доступные из модуля django.contrib.postgres.indexes.
BrinIndex
-
class BrinIndex(pages_per_range=None, **options)[source] -
Создаёт индекс BRIN.
Аргумент
pages_per_rangeпринимает положительное целое число.
GinIndex
-
class GinIndex(fastupdate=None, gin_pending_list_limit=None, **options)[source] -
Создаёт индекс GIN.
Для использования этого индекса с типами данных, не входящими в встроенные классы операторов, необходимо активировать расширение btree_gin в PostgreSQL. Установить его можно с помощью операции миграции
BtreeGinExtension.Установите параметр
fastupdateв значениеFalse, чтобы отключить технику быстрого обновления GIN, которая включена по умолчанию в PostgreSQL.Укажите целое число байтов для параметра gin_pending_list_limit, чтобы настроить максимальный размер списка ожидающих GIN, который используется, когда
fastupdateвключён. Этот параметр требует PostgreSQL ≥ 9.5.Изменено в Django 2.0:Были добавлены параметры
fastupdateиgin_pending_list_limit.
GistIndex
-
class GistIndex(buffering=None, fillfactor=None, **options)[source] -
Добавлен в Django 2.0.
Создаёт индекс GiST. Эти индексы автоматически создаются для пространственных полей с
spatial_index=True. Они также полезны для других типов, таких какHStoreFieldили поля диапазонов.Для использования этого индекса с типами данных, не входящими во встроенные классы операторов gist, необходимо активировать расширение btree_gist в PostgreSQL. Установить его можно с помощью операции миграции
BtreeGistExtension.Установите параметр
bufferingв значениеTrueилиFalse, чтобы вручную включить или отключить построение буфера индекса.Укажите целое значение от 10 до 100 для параметра fillfactor, чтобы настроить плотность страниц индекса. По умолчанию в PostgreSQL значение 90.
© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/2.1/ref/contrib/postgres/indexes/