PostgreSQL Administration und Performance Tuning

Level:

Fortgeschritten

Datum:

Auf Nachfrage

Dauer:

5 Tage

Termine

Buenos Aires (Argentinien):

07.09. – 11.09.2020

 

Gerne halten wir alle PostgreSQL Schulungen bei Ihnen vor Ort ab – und auch überall anders auf der Welt! Bitte fragen Sie dazu direkt bei uns an! Zum Kontaktformular >>

Zur Kursanmeldung >>

Das mit Abstand beliebteste Training unserer Kursteilnehmer!

Dieser Kurs behandelt alle wesentlichen Themen im Zusammenhang mit PostgreSQL. Neben grundlegenden administrativen Aufgaben beschäftigen wir uns mit Performance Tuning, Monitoring, Replication und anderen wichtigen Themen. Im Rahmen des Workshops lernen Sie aus erster Hand, worauf zu achten ist und wie Sie optimal ans Ziel kommen. Ziel ist die Vermittlung einer breiten technischen Basis.

JETZT ANMELDEN >>

 

KURSINHALT

TAG 1:

Die Installation von PostgreSQL

  •     PostgreSQL auf Windows installieren (falls gewünscht)
  •     PostgreSQL auf Linux installieren
  •     PostgreSQL als Container laufen lassen
  •     PostgreSQL Instanzen erstellen
  •     Datenbanken anlegen und löschen
  •     Encodings und Character Sets
  •     Kernel Parameter setzen

Die PostgreSQL Architektur

  •     Überblick über PostgreSQL
  •     Postmaster und seine Sub-Prozesse
  •     Datenbankverbindungen verstehen
  •     Die Bedeutung von Shared Memory
  •     Stats Collector
  •     Checkpoint Subprocesses und Co.

PostgreSQL Indexes und Performance

  •     PostgreSQL Indextypen
  •     PostgreSQL Optimizer verstehen
  •     EXPLAIN und EXPLAIN ANALYZE
  •     Execution-Pläne lesen und verstehen
  •     Langsame Abfragen erkennen
  •     Fehlende Indexes finden
  •     Volltextsuche verwenden
  •     GIS Indexes und räumliche Abfragen

 

TAG 2:

Transactions und Locking

  •     Das PostgreSQL Transaktionsmodell
  •     MVCC verstehen (Multi Version Concurrency Control)
  •     FOR UPDATE vs. FOR SHARE vs. LOCK TABLE
  •     Umgang mit transaktionaler Integrität
  •     Verwendung von Advisory Locks
  •     Deadlocks verstehen
  •     Verwendung von Transaction Isolation Levels
  •     Locking-Probleme erkennen

Storage Management

  •     Tablespaces verwenden
  •     VACUUM und VACUUM FULL
  •     pg_squeeze verstehen
  •     Table Bloat vermeiden
  •     UPDATE Performance verbessern
  •     HOT-UPDATE und FILLFACTOR
  •     PostgreSQL Partitioning

PostgreSQL Upgraden

  •     pg_upgrade bei der Arbeit

 

TAG 3:

WAL: Das PostgreSQL Transaction Log

  •     Wie PostgreSQL Daten schreibt
  •     Checkpoint Performance verbessern (postgresql.conf)
  •     Bulk Loads beschleunigen
  •     Asynchronous COMMIT
  •     Unlogged Tables

Memory Management

  •     Shared_buffers konfigurieren
  •     work_mem und maintenance_work_mem Settings verbessern
  •     Weitere Memory-Parameter verstehen

PostgreSQL Replikation

  •     Streaming-Replikation einrichten
  •     Synchrone vs. asynchrone Replikation
  •     Automatische Failover und HA (Patroni)
  •     Verwaltung von Service-IPs
  •     Behandlung von Replikations-Konflikten
  •     Manuelle Verwendung von pg_rewind
  •     Logische Replikation

Datenbank Updates

  •     Nutzung von pg_dump und pg_restore
  •     Binary Backups (pg_basebackup)
  •     Point-In-Time-Recovery (PITR)
  •     Backup Tools (pgbackrest)

 

TAG 4:

PostgreSQL Sicherheit

  •     TCP vs. UNIX Sockets
  •     Netzwerkzugriffe mit pg_hba.conf verwalten
  •     Zentrale Authentifizierung (Single Sign-on)
  •     Verschlüsselte Datenbankverbindungen
  •     User / Rollen anlegen
  •     Zugriffsberechtigungen (GRANT / REVOKE)
  •     Definition von default Privilegien
  •     PostgreSQL on disk Verschlüsselung
  •     Row Level Security (RLS)
  •     Security barrier, leakproof functions, etc.

PostgreSQL Monitoring und Logging

  •     Log files verwalten
  •     Umgang mit Log-Rotation
  •     PostgreSQL System Tabellen verstehen
  •     pg_stat_statements verwenden
  •     Inspizieren von Performance Daten
  •     Stored Procedure Performance
  •     PGWatch verstehen und verwenden

 

TAG 5:

Parallele Abfragen

  •     Parallele Abfragen konfigurieren
  •     Wie der Optimizer mit Parallelität umgeht
  •     Performance Überlegungen

Serverseitiger Code

  •     PL/pgSQL Procedures optimieren
  •     Schwachstellen im serverseitigen Code identifizieren
  •     Monitoring Procedures
  •     Einsetzen von PostgreSQL Erweiterungen

Foreign Data Wrappers

  •     Zugriff auf Remote-Daten
  •     Mit Oracle verbinden
  •     Mit PostgreSQL verbinden
  •     Daten nach PostgreSQL migrieren
  •     Implikationen für den Optimizer

 

Zur Kursanmeldung >>