Индексы моделей, специфичные для PostgreSQL
Ниже приведены индексы, специфичные для PostgreSQL, доступные из модуля django.contrib.postgres.indexes.
BloomIndex
-
class BloomIndex(length=None, columns=(), **options) -
Новое в Django 3.1.
Создаёт индекс bloom.
Для использования этого индекса вам необходимо активировать расширение bloom в PostgreSQL. Его можно установить, используя операцию миграции
BloomExtension.Укажите целое число от 1 до 4096 для параметра
length, чтобы указать длину каждой записи индекса. По умолчанию в PostgreSQL используется значение 80.Аргумент
columnsпринимает кортеж или список из до 32 значений, являющихся целыми числами от 1 до 4095.
BrinIndex
-
class BrinIndex(autosummarize=None, pages_per_range=None, **options) -
Создаёт индекс BRIN.
Установите параметр
autosummarizeв значениеTrue, чтобы включить автоматическое обобщение, выполняемое autovacuum.Аргумент
pages_per_rangeпринимает положительное целое число.
BTreeIndex
-
class BTreeIndex(fillfactor=None, **options) -
Создаёт индекс B-дерева.
Укажите целое число от 10 до 100 для параметра fillfactor, чтобы настроить плотность страниц индекса. По умолчанию в PostgreSQL используется значение 90.
GinIndex
-
class GinIndex(fastupdate=None, gin_pending_list_limit=None, **options) -
Создаёт индекс gin.
Для использования этого индекса с типами данных, не включёнными в встроенные операторные классы, необходимо активировать расширение btree_gin в PostgreSQL. Его можно установить, используя операцию миграции
BtreeGinExtension.Установите параметр
fastupdateв значениеFalse, чтобы отключить технику быстрого обновления GIN, которая по умолчанию включена в PostgreSQL.Укажите целое число байт для параметра gin_pending_list_limit, чтобы настроить максимальный размер очереди ожидающих операций GIN, которая используется при включении
fastupdate.
GistIndex
-
class GistIndex(buffering=None, fillfactor=None, **options) -
Создаёт индекс GiST. Эти индексы автоматически создаются для пространственных полей с
spatial_index=True. Они также полезны для других типов данных, таких какHStoreFieldили диапазонные поля.Для использования этого индекса с типами данных, не включёнными во встроенные операторные классы GiST, необходимо активировать расширение btree_gist в PostgreSQL. Его можно установить, используя операцию миграции
BtreeGistExtension.Установите параметр
bufferingв значениеTrueилиFalse, чтобы вручную включить или отключить буферизацию построения индекса.Укажите целое число от 10 до 100 для параметра fillfactor, чтобы настроить плотность страниц индекса. По умолчанию в PostgreSQL используется значение 90.
HashIndex
-
class HashIndex(fillfactor=None, **options) -
Создаёт индекс хеширования.
Укажите целое число от 10 до 100 для параметра fillfactor, чтобы настроить плотность страниц индекса. По умолчанию в PostgreSQL используется значение 90.
Используйте этот индекс только в PostgreSQL 10 и новее
Индексы хеширования доступны в PostgreSQL уже давно, но в более старых версиях они страдают от ряда проблем с целостностью данных.
SpGistIndex
-
class SpGistIndex(fillfactor=None, **options) -
Создаёт индекс SP-GiST.
Укажите целое число от 10 до 100 для параметра fillfactor, чтобы настроить плотность страниц индекса. По умолчанию в PostgreSQL используется значение 90.
© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/3.1/ref/contrib/postgres/indexes/