PostgreSQL - Developer Deep Dive
Dieses Seminar zeigt Entwicklern, wie sie PostgreSQL über die Grenzen klassischer relationaler Datenbanken hinaus nutzen können. Die Teilnehmer erlernen den Umgang mit JSON-Dokumenten, Volltextsuche, geografischen Daten und der Erweiterbarkeit der Datenbank.
Kursinhalt
NoSQL-Features mit JSONB
Unterschied zwischen den Datentypen JSON und JSONB
Abfrage- und Manipulationsoperatoren für JSON-Dokumente
Indizierung von JSONB-Spalten mit GIN-Indizes
Volltextsuche (Full-Text Search)
Konzept von Dokumenten, Lexemen und Stoppwörtern
Nutzung von tsvector und tsquery zur Textanalyse
Erstellung von Indizes zur Beschleunigung komplexer Textsuchen
Unscharfe Suche (Fuzzy Search)
Einsatz der Extension pg_trgm für Trigramm-Vergleiche
Ähnlichkeitsberechnungen für Suchbegriffe zur Tippfehlerkorrektur
Kombination von Textsuch- und Trigramm-Methoden
Einführung in Geodaten mit PostGIS
Installation und Aktivierung der PostGIS-Erweiterung
Arbeiten mit Koordinatensystemen und Geometrie-Datentypen
Durchführung räumlicher Abfragen und Entfernungsberechnungen
Fremddaten-Anbindung (Foreign Data Wrapper)
Konzept und Einrichtung von postgres_fdw zur Server-Kopplung
Abfragen externer CSV-Dateien über file_fdw
Integration heterogener Datenquellen direkt in SQL-Abfragen
Arbeiten mit Arrays und Reichweiten (Ranges)
Definition und Manipulation mehrdimensionaler Arrays in Tabellen
Einsatz von Range-Datentypen für zeitliche oder numerische Intervalle
Absicherung überlappungsfreier Intervalle mit Exclusion Constraints
Datenpartitionierung (Partitioning)
Konzepte der deklarativen Partitionierung nach Bereichen oder Listen
Erstellung und Verwaltung von Partitionstabellen
Performance-Vorteile beim Partition-Pruning durch den Planner
Arbeiten mit Large Objects und Binärdaten
Speichern von Binärdaten im bytea-Format im Vergleich zu Large Objects
Vor- und Nachteile bei der Datenbankgröße und Backup-Performance
Streaming-Zugriffe auf Binärdaten aus der Anwendung
Sicherheit auf Zeilenebene (Row-Level Security)
Aktivierung von RLS-Richtlinien auf Tabellen
Erstellung dynamischer Sicherheitsregeln basierend auf dem Anmelde-User
Testen und Validieren restriktiver Datenzugriffe
Erweiterungen (Extensions) verwalten
Sichere Installation und Versionsverwaltung von Extensions
Sicherheitsrisiken bei der Nutzung von Drittanbieter-Erweiterungen
Einfluss von Extensions auf die Upgrade-Fähigkeit der Datenbank
Anforderungen
Ziel
zzgl. MwSt.