MyGear- PostGIS

- Veröffentlicht unter Programmieren von - Permalink

Ich hatte mir Postgres mit docker-compose auf der Synology installiert. Dazu habe ich folgende YAML benutzt:

services:
  database:
    image: 'postgres:latest'
    ports:
      - 5432:5432
    env_file:
      - .env
    volumes:
      - /volume1/docker/django-postgres/db-data/:/var/lib/postgresql/
      - /volume1/docker/django-postgres/init.sql:/docker-entrypoint-initdb.d/init.sql
  pgadmin:
    image: dpage/pgadmin4
    ports:
      - 80:80
    env_file:
      - .env
    depends_on:
      - database
    networks:
      - postgres-network
    volumes:
      - /volume1/docker/django-postgres/pgadmin-data/:/var/lib/pgadmin/

networks:
  postgres-network:
    driver: bridge

mit folgenden Daten im .env-File:

POSTGRES_USER: username
POSTGRES_PASSWORD: password
POSTGRES_DB: default-db
PGADMIN_DEFAULT_EMAIL: username
PGADMIN_DEFAULT_PASSWORD: password

Da ich aber in meinem Projekt auch mit GPS-Daten arbeiten will, habe ich ein bisschen recherchiert und GeoDjango gefunden. Dann habe ich festgestellt, dass ich dafür in Postgres die Erweiterung PostGIS benötige. Nach kurzer Suche festgestellt, dass ich es zwar getrennt installieren kann, ich kann aber auch einfach den Container der Datenbank auf PostGIS ändern.

**Achtung:** Die Datenbankdaten der alten Datenbank sind damit weg. Bei mir nicht schlimm, da waren sowieso nur Testdaten drin.

In obigem Beispiel wird also aus:

services:
  database:
    image: 'postgres:latest'

einfach

services:
  database:
    image: 'postgis/postgis'

Nachdem docker durchgelaufen war, musste ich wie im Artikel hier noch mal die Rechte für meinem Projekt-User setzten und den Superuser in Django anlegen.

Jetzt habe ich mir erst mal eine Testdatenbank angelegt, um mit PostGIS zu spielen.

Schlagworte: