PostgreSQL 特有模型索引

    class BloomIndex(\expressions, length=None, columns=(), **options*)

    New in Django 3.1.

    创建一个 索引。

    要使用这个索引访问,你需要激活 PostgreSQL 上的 bloom 扩展。你可以使用 迁移操作来安装它。

    length 参数提供一个从 1 到 4096 的整数位,用于指定每个索引条目的长度。PostgreSQL 的默认值是 80。

    columns 参数取一个元组或最多 32 个值的列表,这些值是 1 到 4095 的整数位。

    Changed in Django Development version:

    Positional argument *expressions was added in order to support functional indexes.

    BrinIndex

    class BrinIndex(\expressions, autosummarize=None, pages_per_range=None, **options*)

    创建一个 BRIN 索引

    autosummarize 参数设置为 ,启用 autovacuum 进行 。

    pages_per_range 参数取一个正整数。

    Changed in Django Development version:

    Positional argument *expressions was added in order to support functional indexes.

    class BTreeIndex(\expressions, fillfactor=None, **options*)

    创建一个 B 树索引。

    Changed in Django Development version:

    Positional argument *expressions was added in order to support functional indexes.

    GinIndex

    class GinIndex(\expressions, fastupdate=None, gin_pending_list_limit=None, **options*)

    创建一个 gin 索引

    要想在不在 的数据类型上使用这个索引,需要在 PostgreSQL 上激活 btree_gin 扩展 。你可以使用 迁移操作来安装它。

    fastupdate 参数设置为 False,以禁用 PostgreSQL 中默认启用的 GIN 快速更新技术

    为 参数提供一个整数字节数,以调整 GIN 待定列表的最大大小,当 fastupdate 启用时使用。

    Changed in Django Development version:

    Positional argument *expressions was added in order to support functional indexes.

    class GistIndex(\expressions, buffering=None, fillfactor=None, **options*)

    创建一个 GiST 索引 。这些索引在空间字段上会自动创建 。它们在其他类型上也很有用,比如 HStoreField 或者 range fields。

    要在不在内置的 gist 操作类 的数据类型上使用这个索引,需要在 PostgreSQL 上激活 。你可以使用 BtreeGistExtension 迁移操作来安装它。

    将 参数设置为 TrueFalse,手动启用或禁用索引的 。

    fillfactor 参数提供一个从 10 到 100 的整数值,以调整索引页的打包程度。PostgreSQL 的默认值是 90。

    Changed in Django Development version:

    Positional argument *expressions was added in order to support functional indexes.

    HashIndex

    创建一个哈希索引。

    为 参数提供一个从 10 到 100 的整数值,以调整索引页的打包程度。PostgreSQL 的默认值是 90。

    只在 PostgreSQL 10 及以后的版本中使用此索引。

    哈希索引在 PostgreSQL 中已经存在很长时间了,但在旧版本中,哈希索引存在一些数据完整性问题。

    Changed in Django Development version:

    Positional argument *expressions was added in order to support functional indexes.

    class SpGistIndex(\expressions, fillfactor=None, **options*)

    创建 SP-GIST 索引

    为 参数提供一个从 10 到 100 的整数值,以调整索引页的打包程度。PostgreSQL 的默认值是 90。

    Changed in Django Development version:

    Positional argument *expressions was added in order to support functional indexes.

    OpClass() expressions

    New in Django Development version.

    class OpClass(expression, name)

    An OpClass() expression represents the expression with a custom operator class that can be used to define functional indexes. To use it, you need to add 'django.contrib.postgres' in your . Set the name parameter to the name of the operator class.

    例子:

    creates an index on Lower('username') using .