{"title":"Indeks model khusus PostgreSQL","version":"5.1","locale":"id","docname":"ref/contrib/postgres/indexes","url":"/id/5.1/ref/contrib/postgres/indexes/","canonical":"https://djangodocs.dev/id/5.1/ref/contrib/postgres/indexes/","summary":"Berikut adalah indexes khusus PostgreSQL tersedia dari modul django.contrib.postgres.indexes . BloomIndex Link to this heading # class BloomIndex ( * expressions ,…","html":"<span id=\"postgresql-specific-model-indexes\"></span><h1>Indeks model khusus PostgreSQL<a class=\"heading-anchor\" href=\"#module-django.contrib.postgres.indexes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Berikut adalah <a class=\"reference internal\" href=\"/id/5.1/ref/models/indexes/\"><span class=\"doc\">indexes</span></a> khusus PostgreSQL tersedia dari modul  <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.indexes</span></code>.</p>\n<section id=\"bloomindex\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">BloomIndex</span></code><a class=\"heading-anchor\" href=\"#bloomindex\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.indexes.BloomIndex\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BloomIndex</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">expressions</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">length</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">columns</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">()</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.indexes.BloomIndex\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Creates a <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/bloom.html\">bloom</a> index.</p>\n<p>To use this index access you need to activate the <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/bloom.html\">bloom</a> extension on\nPostgreSQL. You can install it using the\n<a class=\"reference internal\" href=\"/id/5.1/ref/contrib/postgres/operations/#django.contrib.postgres.operations.BloomExtension\" title=\"django.contrib.postgres.operations.BloomExtension\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">BloomExtension</span></code></a> migration\noperation.</p>\n<p>Provide an integer number of bits from 1 to 4096 to the <code class=\"docutils literal notranslate\"><span class=\"pre\">length</span></code>\nparameter to specify the length of each index entry. PostgreSQL's default\nis 80.</p>\n<p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">columns</span></code> argument takes a tuple or list of up to 32 values that are\ninteger number of bits from 1 to 4095.</p>\n</dd></dl>\n\n</section>\n<section id=\"brinindex\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">BrinIndex</span></code><a class=\"heading-anchor\" href=\"#brinindex\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.indexes.BrinIndex\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BrinIndex</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">expressions</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">autosummarize</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">pages_per_range</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.indexes.BrinIndex\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Creates a <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/brin.html\">BRIN index</a>.</p>\n<p>Lihat parameter <code class=\"docutils literal notranslate\"><span class=\"pre\">autosummarize</span></code> menjadi <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> untuk mengadakan <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/brin.html#BRIN-OPERATION\">automatic summarization</a> untuk dilakukan oleh autovacuum.</p>\n<p>Argumen <code class=\"docutils literal notranslate\"><span class=\"pre\">pages_per_range</span></code> megnambil integer positif.</p>\n</dd></dl>\n\n</section>\n<section id=\"btreeindex\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">BTreeIndex</span></code><a class=\"heading-anchor\" href=\"#btreeindex\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.indexes.BTreeIndex\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BTreeIndex</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">expressions</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fillfactor</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">deduplicate_items</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.indexes.BTreeIndex\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Membuat sebuah indeks B-Tree.</p>\n<p>Sediakan nilai integer dari 10 ke 100 pada parameter <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS\">fillfactor</a> untuk mengatur bagaimana halaman indeks dibungkus. Awalan PostgreSQL adalah 90.</p>\n<p>Provide a boolean value to the <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/btree.html#BTREE-DEDUPLICATION\">deduplicate_items</a> parameter to control\nwhether deduplication is enabled. PostgreSQL enables deduplication by\ndefault.</p>\n<aside class=\"version-note version-changed\" data-version=\"5.1\">\n<p class=\"version-note-title\">Changed in Django 5.1</p><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">deduplicate_items</span></code> parameter was added.</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"ginindex\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">GinIndex</span></code><a class=\"heading-anchor\" href=\"#ginindex\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.indexes.GinIndex\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">GinIndex</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">expressions</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fastupdate</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">gin_pending_list_limit</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.indexes.GinIndex\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Membuat sebuah <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/gin.html\">gin index</a>.</p>\n<p>To use this index on data types not in the <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/gin.html#GIN-BUILTIN-OPCLASSES\">built-in operator classes</a>,\nyou need to activate the <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/btree-gin.html\">btree_gin extension</a> on\nPostgreSQL. You can install it using the\n<a class=\"reference internal\" href=\"/id/5.1/ref/contrib/postgres/operations/#django.contrib.postgres.operations.BtreeGinExtension\" title=\"django.contrib.postgres.operations.BtreeGinExtension\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">BtreeGinExtension</span></code></a> migration\noperation.</p>\n<p>Setel parameter <code class=\"docutils literal notranslate\"><span class=\"pre\">fastupdate</span></code> menjadi <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> untuk meniadakan <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/gin.html#GIN-FAST-UPDATE\">GIN Fast Update Technique</a> yang diadakan secara awalan di PostgreSQL.</p>\n<p>Provide an integer number of kilobytes to the <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-GIN-PENDING-LIST-LIMIT\">gin_pending_list_limit</a>\nparameter to tune the maximum size of the GIN pending list which is used\nwhen <code class=\"docutils literal notranslate\"><span class=\"pre\">fastupdate</span></code> is enabled.</p>\n</dd></dl>\n\n</section>\n<section id=\"gistindex\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">GistIndex</span></code><a class=\"heading-anchor\" href=\"#gistindex\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.indexes.GistIndex\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">GistIndex</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">expressions</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">buffering</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fillfactor</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.indexes.GistIndex\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Membuat sebuah <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/gist.html\">GiST index</a>. Indeks-indeks ini otomatis dibuat pada bidang spasial dengan <a class=\"reference internal\" href=\"/id/5.1/ref/contrib/gis/model-api/#django.contrib.gis.db.models.BaseSpatialField.spatial_index\" title=\"django.contrib.gis.db.models.BaseSpatialField.spatial_index\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">spatial_index=True</span></code></a>. Mereka juga berguna pada jenis lain, seperti <a class=\"reference internal\" href=\"/id/5.1/ref/contrib/postgres/fields/#django.contrib.postgres.fields.HStoreField\" title=\"django.contrib.postgres.fields.HStoreField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">HStoreField</span></code></a> atau <a class=\"reference internal\" href=\"/id/5.1/ref/contrib/postgres/fields/#range-fields\"><span class=\"std std-ref\">range fields</span></a>.</p>\n<p>To use this index on data types not in the built-in <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/gist.html#GIST-BUILTIN-OPCLASSES\">gist operator classes</a>,\nyou need to activate the <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/btree-gist.html\">btree_gist extension</a> on PostgreSQL.\nYou can install it using the\n<a class=\"reference internal\" href=\"/id/5.1/ref/contrib/postgres/operations/#django.contrib.postgres.operations.BtreeGistExtension\" title=\"django.contrib.postgres.operations.BtreeGistExtension\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">BtreeGistExtension</span></code></a> migration\noperation.</p>\n<p>Setel parameter <code class=\"docutils literal notranslate\"><span class=\"pre\">buffering</span></code> menjadi <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> atau <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> untuk secara manual mengadakan atau meniadakan <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/gist.html#GIST-BUFFERING-BUILD\">buffering build</a> dari indeks.</p>\n<p>Sediakan nilai integer dari 10 ke 100 pada parameter <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS\">fillfactor</a> untuk mengatur bagaimana halaman indeks dibungkus. Awalan PostgreSQL adalah 90.</p>\n</dd></dl>\n\n</section>\n<section id=\"hashindex\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">HashIndex</span></code><a class=\"heading-anchor\" href=\"#hashindex\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.indexes.HashIndex\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">HashIndex</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">expressions</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fillfactor</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.indexes.HashIndex\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Membuat sebuah indeks campuran.</p>\n<p>Sediakan nilai integer dari 10 ke 100 pada parameter <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS\">fillfactor</a> untuk mengatur bagaimana halaman indeks dibungkus. Awalan PostgreSQL adalah 90.</p>\n</dd></dl>\n\n</section>\n<section id=\"spgistindex\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">SpGistIndex</span></code><a class=\"heading-anchor\" href=\"#spgistindex\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.indexes.SpGistIndex\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SpGistIndex</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">expressions</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fillfactor</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.indexes.SpGistIndex\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Membuat sebuah <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/spgist.html\">SP-GiST index</a>.</p>\n<p>Sediakan nilai integer dari 10 ke 100 pada parameter <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS\">fillfactor</a> untuk mengatur bagaimana halaman indeks dibungkus. Awalan PostgreSQL adalah 90.</p>\n</dd></dl>\n\n</section>\n<section id=\"opclass-expressions\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">OpClass()</span></code> expressions<a class=\"heading-anchor\" href=\"#opclass-expressions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.indexes.OpClass\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">OpClass</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">name</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.indexes.OpClass\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>An <code class=\"docutils literal notranslate\"><span class=\"pre\">OpClass()</span></code> expression represents the <code class=\"docutils literal notranslate\"><span class=\"pre\">expression</span></code> with a custom\n<a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/indexes-opclass.html\">operator class</a> that can be used to define functional indexes, functional\nunique constraints, or exclusion constraints. To use it, you need to add\n<code class=\"docutils literal notranslate\"><span class=\"pre\">'django.contrib.postgres'</span></code> in your <a class=\"reference internal\" href=\"/id/5.1/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a>. Set the\n<code class=\"docutils literal notranslate\"><span class=\"pre\">name</span></code> parameter to the name of the <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/indexes-opclass.html\">operator class</a>.</p>\n<p>Sebagai contoh:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">Index</span><span class=\"p\">(</span>\n    <span class=\"n\">OpClass</span><span class=\"p\">(</span><span class=\"n\">Lower</span><span class=\"p\">(</span><span class=\"s2\">&quot;username&quot;</span><span class=\"p\">),</span> <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;varchar_pattern_ops&quot;</span><span class=\"p\">),</span>\n    <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;lower_username_idx&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>creates an index on <code class=\"docutils literal notranslate\"><span class=\"pre\">Lower('username')</span></code> using <code class=\"docutils literal notranslate\"><span class=\"pre\">varchar_pattern_ops</span></code>.</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">UniqueConstraint</span><span class=\"p\">(</span>\n    <span class=\"n\">OpClass</span><span class=\"p\">(</span><span class=\"n\">Upper</span><span class=\"p\">(</span><span class=\"s2\">&quot;description&quot;</span><span class=\"p\">),</span> <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;text_pattern_ops&quot;</span><span class=\"p\">),</span>\n    <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;upper_description_unique&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>creates a unique constraint on <code class=\"docutils literal notranslate\"><span class=\"pre\">Upper('description')</span></code> using\n<code class=\"docutils literal notranslate\"><span class=\"pre\">text_pattern_ops</span></code>.</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">ExclusionConstraint</span><span class=\"p\">(</span>\n    <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;exclude_overlapping_ops&quot;</span><span class=\"p\">,</span>\n    <span class=\"n\">expressions</span><span class=\"o\">=</span><span class=\"p\">[</span>\n        <span class=\"p\">(</span><span class=\"n\">OpClass</span><span class=\"p\">(</span><span class=\"s2\">&quot;circle&quot;</span><span class=\"p\">,</span> <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;circle_ops&quot;</span><span class=\"p\">),</span> <span class=\"n\">RangeOperators</span><span class=\"o\">.</span><span class=\"n\">OVERLAPS</span><span class=\"p\">),</span>\n    <span class=\"p\">],</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>creates an exclusion constraint on <code class=\"docutils literal notranslate\"><span class=\"pre\">circle</span></code> using <code class=\"docutils literal notranslate\"><span class=\"pre\">circle_ops</span></code>.</p>\n</dd></dl>\n\n</section>","rootId":"module-django.contrib.postgres.indexes","toc":[{"title":"BloomIndex","anchor":"bloomindex","children":[]},{"title":"BrinIndex","anchor":"brinindex","children":[]},{"title":"BTreeIndex","anchor":"btreeindex","children":[]},{"title":"GinIndex","anchor":"ginindex","children":[]},{"title":"GistIndex","anchor":"gistindex","children":[]},{"title":"HashIndex","anchor":"hashindex","children":[]},{"title":"SpGistIndex","anchor":"spgistindex","children":[]},{"title":"OpClass() expressions","anchor":"opclass-expressions","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"Acuan API","url":"/id/5.1/ref/"},{"docname":"ref/contrib/index","title":"Paket contrib","url":"/id/5.1/ref/contrib/"},{"docname":"ref/contrib/postgres/index","title":"django.contrib.postgres","url":"/id/5.1/ref/contrib/postgres/"}],"prev":{"docname":"ref/contrib/postgres/functions","title":"Fungsi-fungsi basisdata khusus PostgreSQL","url":"/id/5.1/ref/contrib/postgres/functions/"},"next":{"docname":"ref/contrib/postgres/lookups","title":"Pencarian khusus PostgreSQL","url":"/id/5.1/ref/contrib/postgres/lookups/"},"formats":{"html":"/id/5.1/ref/contrib/postgres/indexes/","markdown":"/id/5.1/ref/contrib/postgres/indexes.md","json":"/id/5.1/ref/contrib/postgres/indexes.json"},"source":"https://github.com/django/django/blob/stable/5.1.x/docs/ref/contrib/postgres/indexes.txt","official":"https://docs.djangoproject.com/id/5.1/ref/contrib/postgres/indexes/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}