PostgreSQL Datenbank und Geospatialdaten

Die philosophische Frage ob es notwendig ist die DB zu wechseln muss sich jeder selber beantworten.

Hier können nur ein paar Fakten wiedergegeben werden welche zur Beantwortung beitragen können.

Alles Rund um die PostgreSQL Datenbank findet man hier auf deren Homepage.

PostgreSQL lässt sich auf den gängigen Betriebssystemen installieren. Die Installation für Windows erfolgt über einen Assistenten und ist in wenigen Minuten erledigt. Smart ist die Tatsache dass Zusatzkomponenten direkt nach der Installation über ein weiteres Tool dazu installiert werden können. Wichtig ist die PostGIS Erweiterung welche es ermöglicht Geometrien zu verwalten.

Die Datenbank kommt mit einem Werkzeug zur Administration, dem pgadmin. Alternative Werkzeuge gibt es sowohl frei als auch kostenpflichtig. Als brauchbar hat sich der DBeaver erwiesen. Den gibt es auch in einer kostenfreien Community Edition mit ausreichend Funktionen für viele Datenbanken, also nicht nur für PostgreSQL. Oracle, SQLite lassen sich auch bearbeiten.

Ein großer Vorteil von PostgreSQL ist die Tatsache das keine Client Software benötigt wird, was den Aufwand für die Installation auf Clientseite deutlich verringert.

Wie bekommt man die „Topobase-Struktur“ in die Datenbank?

Die Firma TKI hat hierfür einen Provider der es ermöglicht die Datenbank Funktionen des AutoCAD Map 3D mit der PostgreSQL zu nutzen. Dieser ist über eine jährliche Miete erhältlich.

Die Installation ist recht unproblematisch. Es gibt für die Map3D Versionen passende Installer.

Im Großen und Ganzen fällt der Unterschied innerhalb des Map 3D kaum auf. Beim login muss nur die Datenbankverbindung entsprechend geändert werden. Die Arbeit im Autodesk Infrastructure Administrator ist größtenteils identisch. Es gibt aber auch einige feine Unterschiede zur Oracle Version.

Während unter Oracle die im Administrator angelegten Fachschalen Datenbank Schemas sind, werden unter Posgresql die Fachschalen als eigene Datenbank angelegt. Für die Nutzung des Autodesk Administrators spielt dies erst mal keine Rolle. Sobald aber auf Daten aus anderen Fachschalen zugegriffen werden soll wird diese Tatsache relevant. Da hier Daten aus verschiedenen Datenbanken abgerufen werden benötigt man einen „Fremd Daten Wrapper“. Hierfür ist die Extension postgres_fdw der Datenbank hinzuzufügen. Das Thema des Fremddaten Zugriffs sollte extra beschrieben werden.

Ein weiterer Unterschied ist das Fehlen der Objektregeln wie sie unter der Oracle Version vorhanden sind. Was sich erstmal dramatisch anhört ist aber auf Grund der anderen Trigger Struktur in Postgresql am Ende nur halb so schlimm. Warum? Als Beispiel ein Trigger der das aktuelle Datum in eine Tabellenspalte schreibt. Auf Datenbankebene schreibt man den unter Oracle den Trigger für jede Tabelle komplett neu. Die Objektregeln vereinfachen dies indem sie die Aufgabe der Vervielfältigung übernehmen. Unter Postgresql wird, ähnlich der Objektregel, eine Funktion geschrieben welche ein Datum in eine Spalte schreibt. Der Trigger welcher die Funktion aufruft kann nun, vorausgesetzt die Spalte existiert, kann nun auf beliebige Tabellen angewandt werden ohne den kompletten Syntax zu wiederholen. Wird die Syntax der Funktion verändert ändert sich das Verhalten des/der Trigger mit.

Der Blog ist im Entstehen und wird sich langsam aber sicher füllen…..

B.Lucas
Author: B.Lucas

Geodatenmanagement in der Stadtverwaltung Biberach