# Django 5.2.8 documentation

# 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;