{"title":"django.contrib.postgres","version":"6.1","locale":"fr","docname":"ref/contrib/postgres/index","url":"/fr/6.1/ref/contrib/postgres/","canonical":"https://djangodocs.dev/fr/6.1/ref/contrib/postgres/","summary":"PostgreSQL comporte un certain nombre de fonctionnalités non gérées par les autres bases de données prises en charge par Django. Ce module facultatif contient des…","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\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>PostgreSQL comporte un certain nombre de fonctionnalités non gérées par les autres bases de données prises en charge par Django. Ce module facultatif contient des champs de modèle et de formulaire pour un certain nombre de types de données spécifiques à Django.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Django est et continuera d’être un système web indépendant de la base de données utilisée. Nous encourageons les rédacteurs d’applications réutilisables à destination de la communauté Django à écrire du code indépendant de la base de données autant que possible. Cependant, il faut reconnaître que des projets réels écrits avec Django n’ont pas toujours besoin de rester indépendants de la base de données. En fait, du moment qu’un projet atteint une certaine taille, le changement du stockage des données sous-jacent représente déjà un défi conséquent et va probablement exiger des modifications de la base de code de manière à tenir compte de différences entre les systèmes de stockage de données.</p>\n<p>Django offre une prise en charge de certains types de données qui ne fonctionneront qu’avec PostgreSQL. Il n’y a par exemple pas de raison fondamentale qu’un module <code class=\"docutils literal notranslate\"><span class=\"pre\">contrib.mysql</span></code> n’existe pas, sauf que PostgreSQL possède le plus riche ensemble de fonctionnalités de toutes les bases de données prises en charge ; ce sont donc ses utilisateurs qui ont le plus à gagner.</p>\n</aside>\n<div class=\"toctree-wrapper compound\">\n<ul>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/aggregates/\">Fonctions d’agrégation spécifiques à PostgreSQL</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/aggregates/#general-purpose-aggregation-functions\">Fonctions d’agrégation d’ordre général</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/aggregates/#aggregate-functions-for-statistics\">Fonctions d’agrégation à but statistique</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/aggregates/#usage-examples\">Exemples d’utilisation</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/constraints/\">Contraintes de bases de données spécifiques à PostgreSQL</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.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=\"/fr/6.1/ref/contrib/postgres/expressions/\">Expressions de requête spécifiques à PostgreSQL</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/expressions/#arraysubquery-expressions\">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=\"/fr/6.1/ref/contrib/postgres/fields/\">Champs de modèles spécifiques à PostgreSQL</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/fields/#indexing-these-fields\">Indexation de ces champs</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.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=\"/fr/6.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=\"/fr/6.1/ref/contrib/postgres/fields/#range-fields\">Champs d’intervalle</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/forms/\">Champs et composants de formulaires spécifiques à PostgreSQL</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/forms/#fields\">Champs</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/forms/#widgets\">Composants de formulaires (« widgets »)</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/functions/\">Fonctions de bases de données spécifiques à PostgreSQL</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.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=\"/fr/6.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=\"/fr/6.1/ref/contrib/postgres/indexes/\">Index de modèles spécifiques à PostgreSQL</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.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=\"/fr/6.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=\"/fr/6.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=\"/fr/6.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=\"/fr/6.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=\"/fr/6.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=\"/fr/6.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=\"/fr/6.1/ref/contrib/postgres/indexes/#opclass-expressions\">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=\"/fr/6.1/ref/contrib/postgres/lookups/\">Recherches spécifiques à PostgreSQL</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/lookups/#trigram-similarity\">Similarité par trigramme</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.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=\"/fr/6.1/ref/contrib/postgres/operations/\">Opérations de migration de base de données</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/operations/#creating-extension-using-migrations\">Création d’extension à l’aide des migrations</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.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=\"/fr/6.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=\"/fr/6.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=\"/fr/6.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=\"/fr/6.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=\"/fr/6.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=\"/fr/6.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=\"/fr/6.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=\"/fr/6.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=\"/fr/6.1/ref/contrib/postgres/operations/#managing-collations-using-migrations\">Gestion des collations à l’aide des migrations</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/operations/#concurrent-index-operations\">Opérations d’index concurrentes</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/operations/#adding-constraints-without-enforcing-validation\">Ajout de contraintes sans appliquer la validation</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/search/\">Recherche plein texte</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/search/#the-search-lookup\">L’expression de recherche <code class=\"docutils literal notranslate\"><span class=\"pre\">search</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.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=\"/fr/6.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=\"/fr/6.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=\"/fr/6.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=\"/fr/6.1/ref/contrib/postgres/search/#changing-the-search-configuration\">Modification de la configuration de recherche</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/search/#weighting-queries\">Pondération des requêtes</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/search/#lexeme\"><code class=\"docutils literal notranslate\"><span class=\"pre\">Lexeme</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/search/#performance\">Performance</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/search/#trigram-similarity\">Similarité par trigramme</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/postgres/validators/\">Validateurs</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/fr/6.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=\"/fr/6.1/ref/contrib/postgres/validators/#range-validators\">Validateurs d’intervalle</a></li>\n</ul>\n</li>\n</ul>\n</div>","rootId":"module-django.contrib.postgres","toc":[],"breadcrumbs":[{"docname":"ref/index","title":"Référence de l’API","url":"/fr/6.1/ref/"},{"docname":"ref/contrib/index","title":"Paquets contrib","url":"/fr/6.1/ref/contrib/"}],"prev":{"docname":"ref/contrib/messages","title":"L’infrastructure des messages","url":"/fr/6.1/ref/contrib/messages/"},"next":{"docname":"ref/contrib/postgres/aggregates","title":"Fonctions d’agrégation spécifiques à PostgreSQL","url":"/fr/6.1/ref/contrib/postgres/aggregates/"},"formats":{"html":"/fr/6.1/ref/contrib/postgres/","markdown":"/fr/6.1/ref/contrib/postgres.md","json":"/fr/6.1/ref/contrib/postgres.json"},"source":"https://github.com/django/django/blob/stable/6.1.x/docs/ref/contrib/postgres/index.txt","official":"https://docs.djangoproject.com/fr/6.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","1.11","1.10","1.9"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}