Datenbanken
Die GBD WebSuite kann Geodaten aus Datenbanken beziehen, entweder indirekt über QGIS und WMS/WMTS-Anbieter oder durch direkte Anbindung an eine Datenbank. Im letzteren Fall müssen Sie die Datenbankverbindungen und Tabellen konfigurieren.
Datenbank-Anbieter
Eine Anbieter (prodiver
) Konfiguration beschreibt, welche Datenbanken und mit welchen Zugangsdaten verwendet werden. Zur Zeit unterstützen wir nur PostgreSQL/PostGIS Datenbanken.
Note
In der Zukunft sind auch Sqlite/SpatiaLite, MySQL und MongoDB geplant.
postgres
Referenz: gws.ext.db.provider.postgres.Config
Wir unterstützen PostgreSQL ab Version 10 mit der obligatorisch PostGIS (ab 2.4) Extension.
Beispiel einer Postgres-Provider-Konfiguration
"db": {
"providers" [
{
"type": "postgres",
"uid": "my_db",
"host": "172.17.0.1",
"port": 5432,
"database": "mydatabase",
"user": "me",
"password": "secret"
}
]
}
Wenn Sie mehrere Server bzw. mehrere Zugangsdaten auf dem gleichen Server haben, müssen Sie diese als verschiedene Anbieter konfigurieren.
Note
Auch wenn Ihr DB-Server sich auf demselben physischen Host befindet, können Sie nicht localhost
als Hostname verwenden, weil die GBD WebSuite in einem Docker-Container läuft. Stattdessen sollte die IP-Adresse des Docker-Hosts wie 172.17.0.1
verwendet werden (der genaue Wert hängt von den Einstellungen Ihres Docker-Netzwerks ab). Aus Gründen der Portabilität ist es empfehlenswert, es mit --add-host
zu aliasieren.
Zugriffsrechte
Wir empfehlen Ihrem Datenbank-Nutzer möglichst wenige Rechte zu vergeben. Für die Funktionen wie Suche oder Postgres-Layer (s. Layer) ist ein SELECT
ausreichend, für Editierfunktionen (Digitalisierung oder Tabellarisches Editieren) braucht man auch INSERT
und UPDATE
. Wenn Sie ALKIS (s. ALKIS Integration) verwenden, muss der DB-Nutzer auch CREATE
und DROP
für das GWS-Arbeitsschema besitzen.
Datenbank-Tabellen
Referenz: gws.common.db.SqlTableConfig
Bei einigen GBD WebSuite Funktionen wie z.B. Suche oder Digitalisierung ist eine Tabellen-Konfiguration notwendig. Minimal ist ein Tabellen-Namen anzugeben (optional mit einem Schema). Sie können auch die Namen für Primärschlüssel (keyColumn
) und Geometrie-Spalte (geometryColumn
) angeben, per Default versucht das System diese Werte aus INFORMATION_SCHEMA
und GEOMETRY_COLUMNS
automatisch zu ermitteln.
Falls Sie mehrere Anbieter verwenden, müssen Sie auch die Anbieter uid
in der Tabellen-Konfiguration angeben.