Installera PostGIS¶
PostGIS lägger till geografiskt objektstöd till PostgreSQL, vilket gör det till en rumslig databas. GEOS, PROJ och GDAL bör installeras innan PostGIS byggs. Du kan också behöva ytterligare bibliotek, se PostGIS-krav.
Modulen psycopg eller psycopg2 krävs för att användas som databasadapter när GeoDjango används med PostGIS.
På Debian/Ubuntu rekommenderas du att installera följande paket: postgresql-x
, postgresql-x-postgis-3
, postgresql-server-dev-x
och python3-psycopg3
(x matchar PostgreSQL-versionen du vill installera). Alternativt kan du bygga från källan. Se de plattformsspecifika instruktionerna om du är på macOS eller Fönster.
Efter installation¶
Skapa en rumslig databas¶
PostGIS innehåller ett tillägg för PostgreSQL som används för att möjliggöra rumslig funktionalitet:
$ createdb <db name>
$ psql <db name>
> CREATE EXTENSION postgis;
Databasanvändaren måste vara en superanvändare för att kunna köra kommandot CREATE EXTENSION postgis;
. Kommandot körs under migrate
-processen. Ett alternativ är att använda en migreringsoperation i ditt projekt:
from django.contrib.postgres.operations import CreateExtension
from django.db import migrations
class Migration(migrations.Migration):
operations = [CreateExtension("postgis"), ...]
Om du planerar att använda PostGIS rasterfunktionalitet bör du också aktivera tillägget postgis_raster
. Du kan installera tillägget med hjälp av migreringsoperationen CreateExtension
, eller direkt genom att köra CREATE EXTENSION postgis_raster;
.
GeoDjango utnyttjar för närvarande inte någon PostGIS topologifunktionalitet. Om du planerar att använda dessa funktioner vid någon tidpunkt kan du också installera tillägget postgis_topology
genom att utfärda CREATE EXTENSION postgis_topology;
.
Hantering av databasen¶
För att administrera databasen kan du antingen använda pgAdmin III-programmet (:menyval:`Start --> PostgreSQL X --> pgAdmin III`) eller SQL Shell (:menyval:`Start --> PostgreSQL X --> SQL Shell`). Till exempel:, för att skapa en geodjango
spatial databas och användare, kan följande utföras från SQL Shell som postgres
användare:
postgres# CREATE USER geodjango PASSWORD 'my_passwd';
postgres# CREATE DATABASE geodjango OWNER geodjango;