首页
随机页面
分类
查看“Django/docs/3.2.x/ref/contrib/postgres/indexes”的源代码
来自菜鸟教程
Django/docs/3.2.x/ref/contrib/postgres/indexes / ←
PostgreSQL 特定模型索引 — Django 文档
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:PostgreSQL 特定的模型索引}} <div id="module-django.contrib.postgres.indexes" class="section"> <span id="postgresql-specific-model-indexes"></span> = PostgreSQL 特定的模型索引 = 以下是 PostgreSQL 特定的 [[../../../models/indexes|索引]] ,可从 <code>django.contrib.postgres.indexes</code> 模块获得。 <div id="bloomindex" class="section"> == BloomIndex == <dl> <dt>''<span class="pre">class</span>'' <span class="sig-name descname"><span class="pre">BloomIndex</span></span><span class="sig-paren">(</span>''<span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">expressions</span></span>'', ''<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>'', ''<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>'', ''<span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">options</span></span>''<span class="sig-paren">)</span></dt> <dd><div class="versionadded"> <p><span class="versionmodified added">3.1 版中的新功能。</span></p> </div> <p>创建 [https://www.postgresql.org/docs/current/bloom.html bloom] 索引。</p> <p>要使用此索引访问,您需要激活 PostgreSQL 上的 [https://www.postgresql.org/docs/current/bloom.html bloom] 扩展。 您可以使用 [[../operations#django.contrib.postgres.operations|BloomExtension]] 迁移操作安装它。</p> <p>向 <code>length</code> 参数提供从 1 到 4096 的整数位,以指定每个索引条目的长度。 PostgreSQL 的默认值为 80。</p> <p><code>columns</code> 参数采用最多 32 个值的元组或列表,这些值是从 1 到 4095 的整数位。</p> <div class="versionchanged"> <p><span class="versionmodified changed">在 3.2 版更改:添加了 </span> 位置参数 <code>*expressions</code> 以支持功能索引。</p> </div></dd></dl> </div> <div id="brinindex" class="section"> == BrinIndex == <dl> <dt>''<span class="pre">class</span>'' <span class="sig-name descname"><span class="pre">BrinIndex</span></span><span class="sig-paren">(</span>''<span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">expressions</span></span>'', ''<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>'', ''<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>'', ''<span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">options</span></span>''<span class="sig-paren">)</span></dt> <dd><p>创建 [https://www.postgresql.org/docs/current/brin-intro.html BRIN 索引] 。</p> <p>将<code>autosummarize</code>参数设置为<code>True</code>,使[https://www.postgresql.org/docs/current/brin-intro.html#BRIN-OPERATION 自动汇总]由autovacuum执行。</p> <p><code>pages_per_range</code> 参数采用正整数。</p> <div class="versionchanged"> <p><span class="versionmodified changed">在 3.2 版更改:添加了 </span> 位置参数 <code>*expressions</code> 以支持功能索引。</p> </div></dd></dl> </div> <div id="btreeindex" class="section"> == BTreeIndex == <dl> <dt>''<span class="pre">class</span>'' <span class="sig-name descname"><span class="pre">BTreeIndex</span></span><span class="sig-paren">(</span>''<span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">expressions</span></span>'', ''<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>'', ''<span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">options</span></span>''<span class="sig-paren">)</span></dt> <dd><p>创建 B 树索引。</p> <p>为 [https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS fillfactor] 参数提供一个从 10 到 100 的整数值,以调整索引页面的打包方式。 PostgreSQL 的默认值为 90。</p> <div class="versionchanged"> <p><span class="versionmodified changed">在 3.2 版更改:添加了 </span> 位置参数 <code>*expressions</code> 以支持功能索引。</p> </div></dd></dl> </div> <div id="ginindex" class="section"> == GinIndex == <dl> <dt>''<span class="pre">class</span>'' <span class="sig-name descname"><span class="pre">GinIndex</span></span><span class="sig-paren">(</span>''<span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">expressions</span></span>'', ''<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>'', ''<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>'', ''<span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">options</span></span>''<span class="sig-paren">)</span></dt> <dd><p>创建 [https://www.postgresql.org/docs/current/gin.html gin 索引] 。</p> <p>要在不在 [https://www.postgresql.org/docs/current/gin-builtin-opclasses.html 内置运算符类] 中的数据类型上使用此索引,您需要在 PostgreSQL 上激活 [https://www.postgresql.org/docs/current/btree-gin.html btree_gin 扩展] 。 您可以使用 [[../operations#django.contrib.postgres.operations|BtreeGinExtension]] 迁移操作安装它。</p> <p>将 <code>fastupdate</code> 参数设置为 <code>False</code> 以禁用在 PostgreSQL 中默认启用的 [https://www.postgresql.org/docs/current/gin-implementation.html#GIN-FAST-UPDATE GIN 快速更新技术] 。</p> <p>为 [https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-GIN-PENDING-LIST-LIMIT gin_pending_list_limit] 参数提供整数字节以调整启用 <code>fastupdate</code> 时使用的 GIN 挂起列表的最大大小。</p> <div class="versionchanged"> <p><span class="versionmodified changed">在 3.2 版更改:添加了 </span> 位置参数 <code>*expressions</code> 以支持功能索引。</p> </div></dd></dl> </div> <div id="gistindex" class="section"> == GistIndex == <dl> <dt>''<span class="pre">class</span>'' <span class="sig-name descname"><span class="pre">GistIndex</span></span><span class="sig-paren">(</span>''<span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">expressions</span></span>'', ''<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>'', ''<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>'', ''<span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">options</span></span>''<span class="sig-paren">)</span></dt> <dd><p>创建 [https://www.postgresql.org/docs/current/gist.html GiST 索引] 。 这些索引是在 [[../../gis/model-api#django.contrib.gis.db.models.BaseSpatialField|spatial_index=True]] 的空间字段上自动创建的。 它们也可用于其他类型,例如 [[../fields#django.contrib.postgres.fields|HStoreField]] 或 [[../fields#range-fields|范围字段]] 。</p> <p>要对不在内置 [https://www.postgresql.org/docs/current/gist-builtin-opclasses.html gist 运算符类] 中的数据类型使用此索引,您需要在 PostgreSQL 上激活 [https://www.postgresql.org/docs/current/btree-gist.html btree_gist 扩展] 。 您可以使用 [[../operations#django.contrib.postgres.operations|BtreeGistExtension]] 迁移操作安装它。</p> <p>将 <code>buffering</code> 参数设置为 <code>True</code> 或 <code>False</code> 以手动启用或禁用索引的 [https://www.postgresql.org/docs/current/gist-implementation.html#GIST-BUFFERING-BUILD 缓冲构建] 。</p> <p>为 [https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS fillfactor] 参数提供一个从 10 到 100 的整数值,以调整索引页面的打包方式。 PostgreSQL 的默认值为 90。</p> <div class="versionchanged"> <p><span class="versionmodified changed">在 3.2 版更改:添加了 </span> 位置参数 <code>*expressions</code> 以支持功能索引。</p> </div></dd></dl> </div> <div id="hashindex" class="section"> == HashIndex == <dl> <dt>''<span class="pre">class</span>'' <span class="sig-name descname"><span class="pre">HashIndex</span></span><span class="sig-paren">(</span>''<span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">expressions</span></span>'', ''<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>'', ''<span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">options</span></span>''<span class="sig-paren">)</span></dt> <dd><p>创建哈希索引。</p> <p>为 [https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS fillfactor] 参数提供一个从 10 到 100 的整数值,以调整索引页面的打包方式。 PostgreSQL 的默认值为 90。</p> <div class="admonition-use-this-index-only-on-postgresql-10-and-later admonition"> <p>仅在 PostgreSQL 10 及更高版本上使用此索引</p> <p>哈希索引在 PostgreSQL 中已经存在很长时间了,但它们在旧版本中存在许多数据完整性问题。</p> </div> <div class="versionchanged"> <p><span class="versionmodified changed">在 3.2 版更改:添加了 </span> 位置参数 <code>*expressions</code> 以支持功能索引。</p> </div></dd></dl> </div> <div id="spgistindex" class="section"> == SpGistIndex == <dl> <dt>''<span class="pre">class</span>'' <span class="sig-name descname"><span class="pre">SpGistIndex</span></span><span class="sig-paren">(</span>''<span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">expressions</span></span>'', ''<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>'', ''<span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">options</span></span>''<span class="sig-paren">)</span></dt> <dd><p>创建 [https://www.postgresql.org/docs/current/spgist.html SP-GiST 索引] 。</p> <p>为 [https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS fillfactor] 参数提供一个从 10 到 100 的整数值,以调整索引页面的打包方式。 PostgreSQL 的默认值为 90。</p> <div class="versionchanged"> <p><span class="versionmodified changed">在 3.2 版更改:添加了 </span> 位置参数 <code>*expressions</code> 以支持功能索引。</p> </div></dd></dl> </div> <div id="opclass-expressions" class="section"> == OpClass() 表达式 == <div class="versionadded"> <span class="versionmodified added">3.2 版中的新功能。</span> </div> <dl> <dt>''<span class="pre">class</span>'' <span class="sig-name descname"><span class="pre">OpClass</span></span><span class="sig-paren">(</span>''<span class="n"><span class="pre">expression</span></span>'', ''<span class="n"><span class="pre">name</span></span>''<span class="sig-paren">)</span></dt> <dd><p><code>OpClass()</code> 表达式表示具有自定义 [https://www.postgresql.org/docs/current/indexes-opclass.html 运算符类] 的 <code>expression</code>,可用于定义功能索引。 要使用它,您需要在 [[#id4|:setting:`INSTALLED_APPS`]] 中添加 <code>'django.contrib.postgres'</code>。 将 <code>name</code> 参数设置为 [https://www.postgresql.org/docs/current/indexes-opclass.html 运算符类] 的名称。</p> <p>例如:</p> <div class="highlight-default notranslate"> <div class="highlight"> <syntaxhighlight lang="python">Index( OpClass(Lower('username'), name='varchar_pattern_ops'), name='lower_username_idx', )</syntaxhighlight> </div> </div> <p>使用 <code>varchar_pattern_ops</code> 在 <code>Lower('username')</code> 上创建索引。</p></dd></dl> </div> </div> <div class="clearer"> </div> [[Category:django 3.2.x 文档]]
返回至“
PostgreSQL 特定模型索引 — Django 文档
”。