35
Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten PostgreSQL im Bayerischen Staatsministerium für Ernährung, Landwirtschaft und Forsten 08.11.2013 Michael Gengenbach BayStMELF, Referat P5

PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

PostgreSQL im Bayerischen

Staatsministerium für Ernährung,

Landwirtschaft und Forsten

08.11.2013

Michael Gengenbach

BayStMELF, Referat P5

Page 2: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 2 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Agenda

Aufgaben

Systeme

Migration

Erfahrungen

Page 3: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 3 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Integriertes Verwaltungs- und Kontrollsystem (InVeKoS)

Durchführung der Agrarförderung gemäß

Landes-, Bundes- und EU-Recht

Page 4: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 4 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Mehrfachantrag

Page 5: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 5 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Der Jahreszyklus der Agrarförderung

Pflege der Feldstückskarte

Generierung personalisierter Antragsformulare (als PDF)

Erfassung der Anträge (online und über Papier)

Verwaltungskontrolle

Vor-Ort-Kontrolle nach Risikoanalyse

Berechnung und Auszahlung der Förderbeträge

Bereitstellung von Statistik- und Monitoring-Daten

Rahmenbedingung:

Auch ältere Antragsjahre müssen berechenbar sein

Page 6: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 6 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Geodaten in der Agrarförderung

Eigene Daten

Feldstücke

Landschaftselemente

Geobasisdaten

Orthofotos

Verwaltungsgrenzen

Flurstücke

Gebietskulissen

Wasserschutzgebiete

Naturschutzgebiete

Page 7: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 7 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Die Portalanwendung iBALIS

Page 8: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 8 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Unser Weg zu PostgreSQL

PostGIS für Geodaten

(2 Mio. Feldstücke, 10 Mio. Flurstücke pro Jahr)

PostgreSQL für kleinere neue Anwendungen

Modernisierung der InVeKoS-Flächenverwaltung

mit einem integriertem Datenmodell für GIS- und

Sachdaten

Beginn der Migration weiterer InVeKoS-

Anwendungen auf das integrierte Datenmodell

Automatisierte Konvertierung aller Natural-

InVeKoS-Anwendungen nach Java und

Migration aller Daten nach PostgreSQL

2004

2011

2012

2013

ab 2014

Page 9: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Systeme

DB2

3270

GIS

AppServer Host

GIS

Client

PostGIS

alt

Browser

AppServer

PostGIS

neu PostGIS

3 Schemata

Page 10: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 10 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Größenordnungen der PostgreSQL-Datenbank

Daten

300 GB

300 Tabellen

400 Mio. Datensätze (viele mit Geodaten)

30 Mio. Datensätze in der größten Tabelle

Hardware

144 GB Hauptspeicher

2 * 6 Core CPU 2,4 GHz

Bis zu 30 Mio. Transaktionen pro Tag (xact_commit)

Webanwendungen mit bis zu 2.700 aktiven Sessions

25 Anwendungsentwicklerinnen und -entwickler

Page 11: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 11 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Besonderheiten

Mixed Workload mit vielen unterschiedlichen Anwendungen

(Batch und Dialog)

Hohe Lastspitzen während der jährlichen Antragsphase

Häufige und kurzfristige Programmänderungen

Geodaten und Geoprocessing

Bitemporale Historisierung

Zugriff aus Java-Anwendungen über

Objektrelationales Mapping (ORM)

Large Objects

(allerdings nicht in großem Umfang)

Betrieb am Rechenzentrum Süd des Freistaats Bayern

Derzeit PostgreSQL 9.0, PostGIS 1.5

Page 12: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 12 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Migration

Page 13: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 13 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Praxiserfahrungen einer direkten Anwendungsmigration

Migration einer größeren Java-Anwendung nach

PostgreSQL

2.000 Klassen

400.000 LOC

Bisher nur im Test, aber noch nicht produktiv

Grundsätzliche Kompatibilität von DDL und SQL

vorhanden, aber kleine Unterschiede im Verhalten

erfordern kleinere Anpassungen

Page 14: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 14 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Unterschiede DDL

Alle bei uns am Großrechner verwendeten Datentypen

werden unterstützt, aber:

Unterschiede bei zulässigen Namen von Indexen

Unterschiede bei bestimmten Grants

Page 15: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 15 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Unterschiede SQL

Standard-SQL wird weitgehend identisch unterstützt, aber:

Syntaxunterschiede:

nur CURRENT_TIMESTAMP, nicht CURRENT TIMESTAMP

Verhalten:

Sortierreihenfolge in manchen Fällen anders

GROUP BY führt in DB2 automatisch zu Sortierung

datepart(′year′, ′2100-12-31 24:00:00.000000′) != 2100

RTRIM() verhält sich anders: bei DB2 ist der folgende

Vergleich bei Charakterfeldern mit fixer Länge wahr: RTRIM(T1.STATUS) = 'geprüft '

Page 16: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 16 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Unterschiede JDBC

Durch JDBC ist grundsätzlich hohe Kompatibilität

vorhanden, aber:

Automatische Konvertierung von Spaltennamen in

Kleinbuchstaben führte zu Problemen bei der Nutzung von ResultSetMetaData

statement.setString() geht im JDBC-Treiber nicht

mehr für beliebige Datentypen

SELECT COUNT liefert bei PostgreSQL Long und kann

nur mit getLong() abgefragt werden

(früher getInt())

Page 17: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 17 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Unterschiede Daten

Hex-0-Werte in Characterfeldern führten bei PostgreSQL

zu Problemen

Page 18: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 18 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Unterstützung bei einer Migration

Im PostgreSQL-Wiki gibt es „Conversion Guides“ für die

Migration von verschiedenen Datenbanksystemen nach

PostgreSQL:

http://wiki.postgresql.org/wiki/Converting_from_other_Databases_to_PostgreSQL

Page 19: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 19 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Erfahrungen

Page 20: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 20 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Subjektive Einschätzung zur Anwendungsmigration

Java-Anwendungen mit JDBC und „einfachem“ SQL

können mit vertretbarem Aufwand migriert werden,

aufgrund

Standard-API JDBC

SQL-Standardkonformität von PostgreSQL

Allerdings gab es mehr Probleme als erwartet und

ausführliches Testen ist unbedingt nötig

Page 21: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 21 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Betriebliche Erfahrungen

Ein großer Hauptspeicher steigert die Leistung erheblich

bei offenen Systemen sehr preiswert

speziell bei lesenden Statements

PostgreSQL ist aus Sicht der Anwendungsentwicklung

problemloser als eine Großrechnerdatenbank

erfordert weniger manuellen Administrationsaufwand

hat weniger Störungen aufgrund von

Wartungsarbeiten

Page 22: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 22 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Migration bei einer großen Menge von Anwendungen

Falls eine komplette Migration nicht möglich ist, dann ist

ein praktikabler Weg, während einer Übergangszeit zwei

Datenbanken parallel zu pflegen

In unserem Fall wurden hierzu zuerst die schreibenden

Anwendungen migriert, die dann aus der Anwendung

heraus beide Datenbanken pflegen

Bei diesem Vorgehen muss man allerdings mit hoher

Wahrscheinlichkeit Programme zur Prüfung bzw.

Wiederherstellung der Datenkonsistenz schreiben

Page 23: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 23 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Two-Phase-Commit

Wir haben mit Two-Phase-Commit getestet und es

scheint grundsätzlich zu funktionieren, allerdings ist es

aus verschiedenen Gründen bei uns bisher nicht in der

Produktion aktiv

Commit-Handling bei zwei Datenbanken ohne

Two-Phase-Commit:

Datenbank 1

Datenbank 2

Zeit

Page 24: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 24 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

1 Millisekunde sind 1.000.000 Nanosekunden

Oder: Latenzzeiten sind wichtig!

Latenzzeiten sind die durch die Laufzeit eines

Datenpakets im Netzwerk verursachten

Verzögerungszeiten (zwischen Client und Server)

Komplexe Anwendungen können pro Dialogschritt viele

Datenbankabfragen haben

Auf einem Großrechner sind zwischen Anwendung und

Datenbank praktisch keine Latenzzeiten vorhanden

In der offenen Welt müssen Latenzzeiten leider oft in

Millisekunden gemessen werden, die sich addieren

Page 25: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 25 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Beispielrechnung für Latenzen bei einem Batchlauf

120.000 zu berechnende landwirtschaftliche Betriebe

* 200 SQL-Abfragen pro Betrieb

* 4 IP-Pakete pro Abfrage

* 1 ms Latenz pro IP-Paket

= 96.000.000 ms

= mehr als 26 Stunden zusätzliche Laufzeit durch 1 ms Latenz

Page 26: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 26 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Probleme?

Wir hatten in ca. 10 Jahren keinen Datenverlust, der auf

Fehlfunktionen des DBMS zurückzuführen ist!

Aber es gibt ein Problem mit PostGIS bzw. GEOS und

der Verschneidungsoperation, das zwar verbessert

werden konnte, aber bei bestimmten Konstellationen

noch besteht

Page 27: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 27 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Verschneidungsproblem von Polygonen

Es gibt für die Verschneidung von Polygonen offenbar

keinen numerischen Algorithmus, der bei fast parallelen

Kanten gleichzeitig robust und schnell ist

Nachdem aber bei der Agrarförderung gewisse

Toleranzen erlaubt sind, konnten wir das Problem durch

die Verwendung von Buffern umgehen.

Page 28: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 28 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Bitemporale Historisierung

Einfache Historisierung:

Bitemporale Historisierung:

Richard T. Snodgrass: Developing Time-Oriented

Database Applications in SQL

Gültig ab Gültig bis Betrieb Name

2008 2011 1234 Anna Huber

2012 1234 Anna Mayr

Gültig ab Gültig bis ab bis Betrieb Name

2008 2011 01.01.2008 31.03.2012 1234 Anna Huber

2012 31.03.2012 17.04.2012 1234 Anna Meier

2012 17.04.2012 1234 Anna Mayr

Page 29: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 29 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Anwendungsarchitektur für Java-Neuentwicklungen

JDBC

PgJDBC

PostGIS

JPA

Hibernate

Lib-Basis

Lib-Fach

Anwendung

Page 30: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 30 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Administrative Attribute in bitemporalen Tabellen

Spalte Datentyp Bemerkung

ident int8 eindeutige ID pro Satz

vnr int2 Versionsnummer für optimistisches Locking

fachvon date Beginn der fachlichen Gültigkeit

fachbis date Ende der fachlichen Gültigkeit

sysan timestamp Beginn der technischen Gültigkeit

sysaus timestamp Ende der technischen Gültigkeit

quelle varchar Benutzer oder Batchanwendung des Erstellers

abschluss varchar Benutzer oder Batchanwendung des Ändernden

refid Int8 eindeutige ID pro Objekt (für Foreign Keys)

Automatisch gepflegt durch Framework

Page 31: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 31 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Erfahrungen mit objektrelationalem Mapping

Sieht einfach aus

Ist es auch

Allerdings ist es extrem leicht, Anwendungen sehr

ineffizient umzusetzen

Aber: mit Erfahrung geht es auch effizient!

Page 32: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 32 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Tool-Empfehlung

Wir haben sehr gute Erfahrungen gemacht mit dem

Datenbanktool SQL Workbench/J

FOSS (Apache 2.0 Lizenz)

JDBC-basiert und somit datenbankunabhängig

Viele nützliche Features

• Erzeugung von DDL aus Datenbank

• Batch mode

Besonders geeignet für den gleichzeitigen Umgang

mit mehreren Datenbanken

• Vergleiche von Tabellen

• Kopieren von Tabellen

Page 33: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 33 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Feature-Wunsch aus der Praxis

Das Problem:

Viele Queries auf mittelgroße Tabellen, bei denen die

benötigten Indexe nicht vorhanden sind und die

deshalb einen Full Table Scan machen

Eine mögliche Lösung:

Aufspüren solcher Queries durch PostgreSQL:

• Bei der Planerstellung kein Index vorhanden

• Table Scan geht über größere Tabelle

• Verdächtiges Statement protokollieren

Wegen Laufzeitverlängerung eventuell nur in einem

temporären Analysemodus?

Page 34: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 34 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Ausblick

PostgreSQL wird für uns noch wichtiger werden:

Cluster mit standortübergreifender Replikation

Ablösung des Großrechners und Migration von

Natural nach Java und DB2 nach PostgreSQL

Speicherung von Dokumenten in der Datenbank,

die aktuell noch im Dateisystem abgelegt werden

Page 35: PostgreSQL im Bayerischen Staatsministerium für Ernährung ...Folie 9 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten

Folie 35 PostgreSQL im BayStMELF / Referat P5 Bayerisches Staatsministerium für

Ernährung, Landwirtschaft und Forsten

Vielen Dank für Ihre Aufmerksamkeit!