---
title: "Installation de PostGIS"
version: 5.2
locale: fr
source: https://docs.djangoproject.com/fr/5.2/ref/contrib/gis/install/postgis/
canonical: https://djangodocs.dev/fr/5.2/ref/contrib/gis/install/postgis/
---
# Installation de PostGIS

[PostGIS](https://postgis.net/) ajoute la prise en charge des objets géographiques à PostgreSQL, pour en faire une base de données spatiale. [GEOS](/fr/5.2/ref/contrib/gis/install/geolibs/#geosbuild), [PROJ](/fr/5.2/ref/contrib/gis/install/geolibs/#proj4) et [GDAL](/fr/5.2/ref/contrib/gis/install/geolibs/#gdalbuild) devraient être installés avant de compiler PostGIS. Vous aurez peut-être besoin d’autres bibliothèques, voir [exigences PostGIS](https://postgis.net/docs/postgis_installation.html#install_requirements).

Le module [psycopg](https://www.psycopg.org/psycopg3/) ou [psycopg2](https://www.psycopg.org/) est obligatoire comme adaptateur de base de données lors de l’utilisation de GeoDjango avec PostGIS.

Sur Debian/Ubuntu, il est conseillé d’installer les paquets suivants : `postgresql-x`, `postgresql-x-postgis-3`, `postgresql-server-dev-x` et `python3-psycopg3` (où x correspond à la version de PostgreSQL que vous souhaitez installer). Il est aussi possible de [construire à partir des sources](https://postgis.net/docs/postgis_installation.html#install_short_version). Consultez les instructions spécifiques à votre plate-forme si vous travaillez avec [macOS](/fr/5.2/ref/contrib/gis/install/#macos) ou [Windows](/fr/5.2/ref/contrib/gis/install/#windows).

## Après l’installation

### Création d’une base de données spatiale

PostGIS contient une extension pour PostgreSQL utilisée pour activer les fonctions spatiales :

```shell
$ createdb  <db name>
$ psql <db name>
> CREATE EXTENSION postgis;
```

L’utilisateur de base de données doit être superutilisateur pour être autorisé à exécuter `CREATE EXTENSION postgis;`. Cette commande est exécutée durant le processus [`migrate`](/fr/5.2/ref/django-admin/#django-admin-migrate). Une alternative est d’utiliser une opération de migration dans votre projet :

```
from django.contrib.postgres.operations import CreateExtension
from django.db import migrations

class Migration(migrations.Migration):
    operations = [CreateExtension("postgis"), ...]
```

Si vous pensez utiliser la fonctionnalité matricielle (raster) de PostGIS, vous devez également activer l’extension `postgis_raster`. Vous pouvez installer cette extension en utilisant l’opération de migration [`CreateExtension`](/fr/5.2/ref/contrib/postgres/operations/#django.contrib.postgres.operations.CreateExtension) ou en lançant directement `CREATE EXTENSION postgis_raster;`.

GeoDjango n’exploite actuellement aucune [fonctionnalité PostGIS de topologie](https://postgis.net/docs/Topology.html). Si vous pensez utilisez ces fonctionnalités à un moment donné, vous pouvez également installer l’extension `postgis_topology` en exécutant `CREATE EXTENSION postgis_topology;`.

### Gestion de la base de données

Pour administrer la base de données, vous pouvez soit utiliser le programme pgAdmin III (Démarrer ‣ PostgreSQL X ‣ pgAdmin III), soit le shell SQL (Démarrer ‣ PostgreSQL X ‣ SQL Shell). Par exemple, pour créer un utilisateur et une base de données `geodjango`, voici ce qui pourrait être saisi dans un shell SQL lancé avec l’utilisateur `postgres`:

```psql
postgres# CREATE USER geodjango PASSWORD 'my_passwd';
postgres# CREATE DATABASE geodjango OWNER geodjango;
```
