1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- =================================
- 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.
- ``BrinIndex``
- =============
- .. class:: BrinIndex(pages_per_range=None, **options)
- Creates a `BRIN index
- <https://www.postgresql.org/docs/current/static/brin-intro.html>`_.
- The ``pages_per_range`` argument takes a positive integer.
- ``GinIndex``
- ============
- .. class:: GinIndex(fastupdate=None, gin_pending_list_limit=None, **options)
- Creates a `gin index
- <https://www.postgresql.org/docs/current/static/gin.html>`_.
- 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
- <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.
- 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.
|