Installation de PostGIS¶
PostGIS ajoute la prise en charge des objets géographiques à PostgreSQL, pour en faire une base de données spatiale. GEOS, PROJ.4 et GDAL devraient être installés avant de compiler PostGIS. Vous aurez peut-être besoin d’autres bibliothèques, voir exigences PostGIS.
Le module psycopg2 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.x, postgresql-x.x-postgis, postgresql-server-dev-x.x, python-psycopg2 (où x.x correspond à la version de PostgreSQL que vous souhaitez installer). Il est aussi possible de construire à partir des sources. Consultez les instructions spécifiques à votre plate-forme si vous travaillez avec macOS ou Windows.
Après l’installation¶
Création d’une base de données spatiale¶
PostGIS 2 contient une extension pour PostgreSQL utilisée pour activer les fonctions spatiales :
$ 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
. 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 avec PostGIS 3+, vous devez également activer l’extension postgis_raster
. Vous pouvez installer cette extension en utilisant l’opération de migration CreateExtension
ou en lançant directement CREATE EXTENSION postgis_raster;
.
GeoDjango n’exploite actuellement aucune fonctionnalité PostGIS de topologie. 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 (geodjango
, voici ce qui pourrait être saisi dans un shell SQL lancé avec l’utilisateur postgres
:
postgres# CREATE USER geodjango PASSWORD 'my_passwd';
postgres# CREATE DATABASE geodjango OWNER geodjango;