{"title":"Installation de PostGIS","version":"5.1","locale":"fr","docname":"ref/contrib/gis/install/postgis","url":"/fr/5.1/ref/contrib/gis/install/postgis/","canonical":"https://djangodocs.dev/fr/5.1/ref/contrib/gis/install/postgis/","summary":"PostGIS ajoute la prise en charge des objets géographiques à PostgreSQL, pour en faire une base de données spatiale. GEOS , PROJ et GDAL devraient être installés…","html":"<h1>Installation de PostGIS<a class=\"heading-anchor\" href=\"#installing-postgis\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h1>\n<p><a class=\"reference external\" href=\"https://postgis.net/\">PostGIS</a> ajoute la prise en charge des objets géographiques à PostgreSQL, pour en faire une base de données spatiale. <a class=\"reference internal\" href=\"/fr/5.1/ref/contrib/gis/install/geolibs/#geosbuild\"><span class=\"std std-ref\">GEOS</span></a>, <a class=\"reference internal\" href=\"/fr/5.1/ref/contrib/gis/install/geolibs/#proj4\"><span class=\"std std-ref\">PROJ</span></a> et <a class=\"reference internal\" href=\"/fr/5.1/ref/contrib/gis/install/geolibs/#gdalbuild\"><span class=\"std std-ref\">GDAL</span></a> devraient être installés avant de compiler PostGIS. Vous aurez peut-être besoin d’autres bibliothèques, voir <a class=\"reference external\" href=\"https://postgis.net/docs/postgis_installation.html#install_requirements\">exigences PostGIS</a>.</p>\n<p>Le module <a class=\"reference external\" href=\"https://www.psycopg.org/psycopg3/\">psycopg</a> ou <a class=\"reference external\" href=\"https://www.psycopg.org/\">psycopg2</a> est obligatoire comme adaptateur de base de données lors de l’utilisation de GeoDjango avec PostGIS.</p>\n<p>Sur Debian/Ubuntu, il est conseillé d’installer les paquets suivants : <code class=\"docutils literal notranslate\"><span class=\"pre\">postgresql-x</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">postgresql-x-postgis-3</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">postgresql-server-dev-x</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">python3-psycopg3</span></code> (où x correspond à la version de PostgreSQL que vous souhaitez installer). Il est aussi possible de <a class=\"reference external\" href=\"https://postgis.net/docs/postgis_installation.html#install_short_version\">construire à partir des sources</a>. Consultez les instructions spécifiques à votre plate-forme si vous travaillez avec <a class=\"reference internal\" href=\"/fr/5.1/ref/contrib/gis/install/#macos\"><span class=\"std std-ref\">macOS</span></a> ou <a class=\"reference internal\" href=\"/fr/5.1/ref/contrib/gis/install/#windows\"><span class=\"std std-ref\">Windows</span></a>.</p>\n<section id=\"post-installation\">\n<h2>Après l’installation<a class=\"heading-anchor\" href=\"#post-installation\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"creating-a-spatial-database\">\n<span id=\"spatialdb-template\"></span><h3>Création d’une base de données spatiale<a class=\"heading-anchor\" href=\"#creating-a-spatial-database\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>PostGIS contient une extension pour PostgreSQL utilisée pour activer les fonctions spatiales :</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code>$<span class=\"w\"> </span>createdb<span class=\"w\">  </span>&lt;db<span class=\"w\"> </span>name&gt;\n$<span class=\"w\"> </span>psql<span class=\"w\"> </span>&lt;db<span class=\"w\"> </span>name&gt;\n&gt;<span class=\"w\"> </span>CREATE<span class=\"w\"> </span>EXTENSION<span class=\"w\"> </span>postgis<span class=\"p\">;</span>\n</code></pre></div>\n<p>L’utilisateur de base de données doit être superutilisateur pour être autorisé à exécuter <code class=\"docutils literal notranslate\"><span class=\"pre\">CREATE</span> <span class=\"pre\">EXTENSION</span> <span class=\"pre\">postgis;</span></code>. Cette commande est exécutée durant le processus <a class=\"reference internal\" href=\"/fr/5.1/ref/django-admin/#django-admin-migrate\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">migrate</span></code></a>. Une alternative est d’utiliser une opération de migration dans votre projet :</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=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.postgres.operations</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">CreateExtension</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">migrations</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Migration</span><span class=\"p\">(</span><span class=\"n\">migrations</span><span class=\"o\">.</span><span class=\"n\">Migration</span><span class=\"p\">):</span>\n    <span class=\"n\">operations</span> <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"n\">CreateExtension</span><span class=\"p\">(</span><span class=\"s2\">&quot;postgis&quot;</span><span class=\"p\">),</span> <span class=\"o\">...</span><span class=\"p\">]</span>\n</code></pre></div>\n<p>Si vous pensez utiliser la fonctionnalité matricielle (raster) de PostGIS, vous devez également activer l’extension <code class=\"docutils literal notranslate\"><span class=\"pre\">postgis_raster</span></code>. Vous pouvez installer cette extension en utilisant l’opération de migration <a class=\"reference internal\" href=\"/fr/5.1/ref/contrib/postgres/operations/#django.contrib.postgres.operations.CreateExtension\" title=\"django.contrib.postgres.operations.CreateExtension\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CreateExtension</span></code></a> ou en lançant directement <code class=\"docutils literal notranslate\"><span class=\"pre\">CREATE</span> <span class=\"pre\">EXTENSION</span> <span class=\"pre\">postgis_raster;</span></code>.</p>\n<p>GeoDjango n’exploite actuellement aucune <a class=\"reference external\" href=\"https://postgis.net/docs/Topology.html\">fonctionnalité PostGIS de topologie</a>. Si vous pensez utilisez ces fonctionnalités à un moment donné, vous pouvez également installer l’extension <code class=\"docutils literal notranslate\"><span class=\"pre\">postgis_topology</span></code> en exécutant <code class=\"docutils literal notranslate\"><span class=\"pre\">CREATE</span> <span class=\"pre\">EXTENSION</span> <span class=\"pre\">postgis_topology;</span></code>.</p>\n</section>\n<section id=\"managing-the-database\">\n<h3>Gestion de la base de données<a class=\"heading-anchor\" href=\"#managing-the-database\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Pour administrer la base de données, vous pouvez soit utiliser le programme pgAdmin III (<span class=\"menuselection\">Démarrer ‣ PostgreSQL X ‣ pgAdmin III</span>), soit le shell SQL (<span class=\"menuselection\">Démarrer ‣ PostgreSQL X ‣ SQL Shell</span>). Par exemple, pour créer un utilisateur et une base de données <code class=\"docutils literal notranslate\"><span class=\"pre\">geodjango</span></code>, voici ce qui pourrait être saisi dans un shell SQL lancé avec l’utilisateur <code class=\"docutils literal notranslate\"><span class=\"pre\">postgres</span></code>:</p>\n<div class=\"code-block\" data-language=\"psql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</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=\"SQL code\"><code><span class=\"n\">postgres</span><span class=\"o\">#</span><span class=\"w\"> </span><span class=\"k\">CREATE</span><span class=\"w\"> </span><span class=\"k\">USER</span><span class=\"w\"> </span><span class=\"n\">geodjango</span><span class=\"w\"> </span><span class=\"k\">PASSWORD</span><span class=\"w\"> </span><span class=\"s1\">&#39;my_passwd&#39;</span><span class=\"p\">;</span>\n<span class=\"go\">postgres# CREATE DATABASE geodjango OWNER geodjango;</span>\n</code></pre></div>\n</section>\n</section>","rootId":"installing-postgis","toc":[{"title":"Après l’installation","anchor":"post-installation","children":[{"title":"Création d’une base de données spatiale","anchor":"creating-a-spatial-database","children":[]},{"title":"Gestion de la base de données","anchor":"managing-the-database","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"Référence de l’API","url":"/fr/5.1/ref/"},{"docname":"ref/contrib/index","title":"Paquets contrib","url":"/fr/5.1/ref/contrib/"},{"docname":"ref/contrib/gis/index","title":"GeoDjango","url":"/fr/5.1/ref/contrib/gis/"},{"docname":"ref/contrib/gis/install/index","title":"Installation de GeoDjango","url":"/fr/5.1/ref/contrib/gis/install/"}],"prev":{"docname":"ref/contrib/gis/install/geolibs","title":"Installation des bibliothèques géospatiales","url":"/fr/5.1/ref/contrib/gis/install/geolibs/"},"next":{"docname":"ref/contrib/gis/install/spatialite","title":"Installation de SpatiaLite","url":"/fr/5.1/ref/contrib/gis/install/spatialite/"},"formats":{"html":"/fr/5.1/ref/contrib/gis/install/postgis/","markdown":"/fr/5.1/ref/contrib/gis/install/postgis.md","json":"/fr/5.1/ref/contrib/gis/install/postgis.json"},"source":"https://github.com/django/django/blob/stable/5.1.x/docs/ref/contrib/gis/install/postgis.txt","official":"https://docs.djangoproject.com/fr/5.1/ref/contrib/gis/install/postgis/","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","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}