2016-08-08 19:50:25 +08:00
|
|
|
=================================
|
|
|
|
PostgreSQL specific model indexes
|
|
|
|
=================================
|
|
|
|
|
|
|
|
.. module:: django.contrib.postgres.indexes
|
|
|
|
|
|
|
|
.. versionadded:: 1.11
|
|
|
|
|
|
|
|
The following are PostgreSQL specific :doc:`indexes </ref/models/indexes>`
|
|
|
|
available from the ``django.contrib.postgres.indexes`` module.
|
|
|
|
|
2016-10-13 20:39:44 +08:00
|
|
|
``BrinIndex``
|
|
|
|
=============
|
|
|
|
|
2017-01-17 00:28:30 +08:00
|
|
|
.. class:: BrinIndex(fields=[], name=None, pages_per_range=None)
|
2016-10-13 20:39:44 +08:00
|
|
|
|
|
|
|
Creates a `BRIN index
|
2017-01-17 00:28:30 +08:00
|
|
|
<https://www.postgresql.org/docs/current/static/brin-intro.html>`_.
|
|
|
|
|
|
|
|
The ``pages_per_range`` argument takes a positive integer.
|
2016-10-13 20:39:44 +08:00
|
|
|
|
2016-08-08 19:50:25 +08:00
|
|
|
``GinIndex``
|
|
|
|
============
|
|
|
|
|
2017-05-31 05:17:32 +08:00
|
|
|
.. class:: GinIndex(fields=[], name=None, fastupdate=None, gin_pending_list_limit=None)
|
2016-08-08 19:50:25 +08:00
|
|
|
|
|
|
|
Creates a `gin index
|
|
|
|
<https://www.postgresql.org/docs/current/static/gin.html>`_.
|
|
|
|
|
2016-08-14 06:19:43 +08:00
|
|
|
To use this index on data types not in the `built-in operator classes
|
|
|
|
<https://www.postgresql.org/docs/current/static/gin-builtin-opclasses.html>`_,
|
|
|
|
you need to activate the `btree_gin extension
|
2016-08-08 19:50:25 +08:00
|
|
|
<https://www.postgresql.org/docs/current/static/btree-gin.html>`_ on
|
|
|
|
PostgreSQL. You can install it using the
|
|
|
|
:class:`~django.contrib.postgres.operations.BtreeGinExtension` migration
|
|
|
|
operation.
|
2017-05-31 05:17:32 +08:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
.. _GIN Fast Update Technique: https://www.postgresql.org/docs/current/static/gin-implementation.html#GIN-FAST-UPDATE
|
|
|
|
.. _gin_pending_list_limit: https://www.postgresql.org/docs/current/static/runtime-config-client.html#GUC-GIN-PENDING-LIST-LIMIT
|
|
|
|
|
|
|
|
.. versionchanged:: 2.0
|
|
|
|
|
|
|
|
The ``fastupdate`` and ``gin_pending_list_limit`` parameters were added.
|