Kurs: PostgreSQL-Administration (Datenbankserver)

Dauer: 5 Tage

Motivation: Der freie Datenbank-Server PostgreSQL erfreut sich immer größerer Beliebtheit. Sie ist als ausgereifte Alternative zu MySQL zu sehen, seit MySQL von der Firma ORACLE übernommen wurde.

Ziel: In diesem Kurs werden alle Aspekte der Datenbank behandelt sowie praktische Probleme der Teilnehmer aufgegriffen und gelöst. Neben fundierten theoretischen Inhalten werden vor allem praxisrelevante Aspekte behandelt und anhand von Beispielen verdeutlicht.

Inhalt:

  • Installation von PostgreSQL
    • PostgreSQL auf installieren (Windows/Linux)
    • Updates durchführen
    • Datenbanken anlegen und löschen
    • Encodings und Character Sets
  • PostgreSQL-Architektur
    • Überblick
    • Postmaster
    • Backends
    • Shared Memory
    • Stats Collector
    • Checkpoint Subprocesses und Co.
  • PostgreSQL Security
    • TCP vs. UNIX Sockets
    • Netzwerkzugriffe mit pg_hba.conf
    • Benutzerverwaltung
      • Benutzerrechte vergeben
      • Rollen-System
    • OpenSSL einrichten
  • Performance Tuning
    • Tablespaces
    • Storage Parameter optimieren
    • Checkpoints optimieren
    • Optimierung des Background Writers
    • Optimizer Interna
    • Indices
      • Grundlagen
      • Anlegen und löschen
      • Verwenden und verstehen
      • Partielle Indices
      • Überflüssige Indices erkennen
    • Langsamen Abfragen aufpüren
      • EXPLAIN verwenden
  • Maintenance
    • Storage-System aufräumen
      • VACUUM
      • VACUUM FULL
      • VACUUM FREEZE
    • Optimizer-Statistiken aufbauen
    • Transaction Wraparound verhindern
  • Monitoring
    • Logdateien erzeugen und verstehen
    • Laufende Abfragen überwachen
    • Performance-Daten
    • Cache Hit Rates
    • I/O-Statistik
  • Backup und Recovery
    • Backups durchführen
    • Disaster Recovery
    • Point-In-Time Recovery einrichten und durchführen
  • Ausfallsicherheit
    • Standby-Systeme einrichten
    • Replikation einrichten

Voraussetzungen:

  • Muss: Allgemeine Computer-Kenntnisse (Tastatur, Maus, Grafische Oberfläche, Editor)
  • Muss: Erfahrung mit irgendeiner Datenbank
  • Muss: Linux/UNIX-Grundlagen
  • Muss: Arbeiten auf der Kommandozeile (analog MS-DOS)