{"title":"django.contrib.postgres","version":"4.1","locale":"zh-hans","docname":"ref/contrib/postgres/index","url":"/zh-hans/4.1/ref/contrib/postgres/","canonical":"https://djangodocs.dev/zh-hans/4.1/ref/contrib/postgres/","summary":"PostgreSQL 有许多 Django 支持的数据库所不具备的特性。这个可选的模块包含了一些 PostgreSQL 特有数据类型的模型字段和表单字段。 Note Django 是，并将继续是一个与数据库无关的网络框架。我们鼓励那些为 Django…","html":"<span id=\"django-contrib-postgres\"></span><h1><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres</span></code><a class=\"heading-anchor\" href=\"#module-django.contrib.postgres\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>PostgreSQL 有许多 Django 支持的数据库所不具备的特性。这个可选的模块包含了一些 PostgreSQL 特有数据类型的模型字段和表单字段。</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Django 是，并将继续是一个与数据库无关的网络框架。我们鼓励那些为 Django 社区编写可重用的应用程序的人，在可行的情况下编写数据库无关的代码。然而，我们也认识到，在现实世界中，使用 Django 编写的项目不一定是数据库无关的。事实上，一旦一个项目达到一定的规模，改变底层数据存储已经是一个重大的挑战，很可能需要通过一些方式改变代码库来处理数据存储之间的差异。</p>\n<p>Django 提供了对一些数据类型的支持，这些数据类型只能在 PostgreSQL 中使用。除了 PostgreSQL 在支持的数据库中拥有最丰富的功能，所以它的用户可以获得最大的收益之外，没有任何根本的原因（例如）不存在 <code class=\"docutils literal notranslate\"><span class=\"pre\">contrib.mysql</span></code> 模块。</p>\n</aside>\n<div class=\"toctree-wrapper compound\">\n<ul>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/aggregates/\">PostgreSQL 特有聚合函数</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/aggregates/#general-purpose-aggregation-functions\">通用聚合函数</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/aggregates/#aggregate-functions-for-statistics\">统计的聚合功能</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/aggregates/#usage-examples\">使用实例：</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/constraints/\">PostgreSQL 特有数据库约束</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/constraints/#exclusionconstraint\"><code class=\"docutils literal notranslate\"><span class=\"pre\">ExclusionConstraint</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/expressions/\">PostgreSQL 特有查询表达式</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/expressions/#arraysubquery-expressions\"><code class=\"docutils literal notranslate\"><span class=\"pre\">ArraySubquery()</span></code> 表达式</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/fields/\">PostgreSQL 特有模型字段</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/fields/#indexing-these-fields\">对这些字段进行索引</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/fields/#arrayfield\"><code class=\"docutils literal notranslate\"><span class=\"pre\">ArrayField</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/fields/#citext-fields\"><code class=\"docutils literal notranslate\"><span class=\"pre\">CIText</span></code> 字段</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/fields/#hstorefield\"><code class=\"docutils literal notranslate\"><span class=\"pre\">HStoreField</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/fields/#range-fields\">范围字段</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/forms/\">PostgreSQL 特有表单字段和部件</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/forms/#fields\">字段</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/forms/#widgets\">部件</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/functions/\">PostgreSQL 特有数据库函数</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/functions/#randomuuid\"><code class=\"docutils literal notranslate\"><span class=\"pre\">RandomUUID</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/functions/#transactionnow\"><code class=\"docutils literal notranslate\"><span class=\"pre\">TransactionNow</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/indexes/\">PostgreSQL 特有模型索引</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/indexes/#bloomindex\"><code class=\"docutils literal notranslate\"><span class=\"pre\">BloomIndex</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/indexes/#brinindex\"><code class=\"docutils literal notranslate\"><span class=\"pre\">BrinIndex</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/indexes/#btreeindex\"><code class=\"docutils literal notranslate\"><span class=\"pre\">BTreeIndex</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/indexes/#ginindex\"><code class=\"docutils literal notranslate\"><span class=\"pre\">GinIndex</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/indexes/#gistindex\"><code class=\"docutils literal notranslate\"><span class=\"pre\">GistIndex</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/indexes/#hashindex\"><code class=\"docutils literal notranslate\"><span class=\"pre\">HashIndex</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/indexes/#spgistindex\"><code class=\"docutils literal notranslate\"><span class=\"pre\">SpGistIndex</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/indexes/#opclass-expressions\"><code class=\"docutils literal notranslate\"><span class=\"pre\">OpClass()</span></code> 表达式</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/lookups/\">PostgreSQL 特有查找</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/lookups/#trigram-similarity\">三元相似度</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/lookups/#unaccent\"><code class=\"docutils literal notranslate\"><span class=\"pre\">Unaccent</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/operations/\">数据库迁移操作</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/operations/#creating-extension-using-migrations\">使用迁移创建扩展</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/operations/#createextension\"><code class=\"docutils literal notranslate\"><span class=\"pre\">CreateExtension</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/operations/#bloomextension\"><code class=\"docutils literal notranslate\"><span class=\"pre\">BloomExtension</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/operations/#btreeginextension\"><code class=\"docutils literal notranslate\"><span class=\"pre\">BtreeGinExtension</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/operations/#btreegistextension\"><code class=\"docutils literal notranslate\"><span class=\"pre\">BtreeGistExtension</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/operations/#citextextension\"><code class=\"docutils literal notranslate\"><span class=\"pre\">CITextExtension</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/operations/#cryptoextension\"><code class=\"docutils literal notranslate\"><span class=\"pre\">CryptoExtension</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/operations/#hstoreextension\"><code class=\"docutils literal notranslate\"><span class=\"pre\">HStoreExtension</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/operations/#trigramextension\"><code class=\"docutils literal notranslate\"><span class=\"pre\">TrigramExtension</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/operations/#unaccentextension\"><code class=\"docutils literal notranslate\"><span class=\"pre\">UnaccentExtension</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/operations/#managing-collations-using-migrations\">使用迁移来管理整理</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/operations/#concurrent-index-operations\">并发索引操作</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/operations/#adding-constraints-without-enforcing-validation\">添加约束条件而不强制执行验证</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/search/\">全文搜索</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/search/#the-search-lookup\"><code class=\"docutils literal notranslate\"><span class=\"pre\">search</span></code> 查找</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/search/#searchvector\"><code class=\"docutils literal notranslate\"><span class=\"pre\">SearchVector</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/search/#searchquery\"><code class=\"docutils literal notranslate\"><span class=\"pre\">SearchQuery</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/search/#searchrank\"><code class=\"docutils literal notranslate\"><span class=\"pre\">SearchRank</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/search/#searchheadline\"><code class=\"docutils literal notranslate\"><span class=\"pre\">SearchHeadline</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/search/#changing-the-search-configuration\">更改搜索配置</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/search/#weighting-queries\">加权查询</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/search/#performance\">性能</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/search/#trigram-similarity\">三元相似度</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/validators/\">验证器</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/validators/#keysvalidator\"><code class=\"docutils literal notranslate\"><span class=\"pre\">KeysValidator</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/zh-hans/4.1/ref/contrib/postgres/validators/#range-validators\">范围验证器</a></li>\n</ul>\n</li>\n</ul>\n</div>","rootId":"module-django.contrib.postgres","toc":[],"breadcrumbs":[{"docname":"ref/index","title":"API 参考","url":"/zh-hans/4.1/ref/"},{"docname":"ref/contrib/index","title":"contrib 包","url":"/zh-hans/4.1/ref/contrib/"}],"prev":{"docname":"ref/contrib/messages","title":"消息框架","url":"/zh-hans/4.1/ref/contrib/messages/"},"next":{"docname":"ref/contrib/postgres/aggregates","title":"PostgreSQL 特有聚合函数","url":"/zh-hans/4.1/ref/contrib/postgres/aggregates/"},"formats":{"html":"/zh-hans/4.1/ref/contrib/postgres/","markdown":"/zh-hans/4.1/ref/contrib/postgres.md","json":"/zh-hans/4.1/ref/contrib/postgres.json"},"source":"https://github.com/django/django/blob/stable/4.1.x/docs/ref/contrib/postgres/index.txt","official":"https://docs.djangoproject.com/zh-hans/4.1/ref/contrib/postgres/","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"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}