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.
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'),
...
]
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;.
Pour administrer la base de données, vous pouvez soit utiliser le programme pgAdmin III (), soit le shell SQL (). 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:
postgres# CREATE USER geodjango PASSWORD 'my_passwd';
postgres# CREATE DATABASE geodjango OWNER geodjango;
mars 30, 2019