Jetzt, wo du die Grundlagen und wichtigsten Befehle kennst, schauen wir uns ein paar praktische Tipps für den Admin-Alltag an.
Damit kannst du PostgreSQL sicher betreiben und deine Datenbank optimal nutzen.

🔹 Logging aktivieren & prüfen

PostgreSQL schreibt Logs in der Regel über journald oder direkt in Logfiles.
Status prüfen:

systemctl status postgresql

Logs ansehen:

journalctl -u postgresql -f

👉 Dort findest du Fehlermeldungen oder Abfrageprobleme.

🔹 Konfiguration anpassen

Die wichtigste Konfigurationsdatei liegt hier:

/etc/postgresql/<version>/main/postgresql.conf

Wichtige Parameter:

  • listen_addresses = '*' → von außen erreichbar machen
  • max_connections → maximale Clients
  • shared_buffers → Speicher für Caching
  • log_statement → Logging von SQL-Befehlen (z. B. ddl, all)

Nach Änderungen neu laden:

sudo systemctl reload postgresql

🔹 Performance-Tipps

  1. Indizes nutzen (siehe Kapitel 6)
  2. VACUUM & ANALYZE regelmäßig ausführen:
    VACUUM;
    ANALYZE;
    

    👉 Bereinigt gelöschte Zeilen und aktualisiert Statistiken für den Optimizer.

  3. Autovacuum ist standardmäßig aktiv, aber du kannst es in der Konfiguration anpassen.

🔹 Admin-Tools

  • psql → Standard-Tool (am mächtigsten)
  • pgAdmin → Web-Oberfläche, grafisch, gut für Einsteiger
  • phpPgAdmin → Web-basiert, ähnlich wie phpMyAdmin
  • DBeaver → GUI-Client für viele Datenbanken, auch PostgreSQL

🔹 Migration von MySQL/MariaDB nach PostgreSQL

  • PostgreSQL bietet strengere Typprüfung → Migration kann Anpassungen erfordern.
  • Hilfstools:
    • pgloader (automatische Migration von MySQL nach PostgreSQL)
    • CSV-Export aus MySQL und Import in PostgreSQL mit COPY.

Beispiel Import:

COPY kunden FROM '/tmp/kunden.csv' DELIMITER ',' CSV HEADER;

🔹 Sicherheit

  • Nutze sichere Passwörter (md5 oder scram-sha-256 Authentifizierung).
  • Zugangskontrolle über pg_hba.conf (Host-Based Authentication):
    /etc/postgresql/<version>/main/pg_hba.conf
    

    Beispiel-Eintrag:

    host    firma    hendrik    192.168.1.0/24    md5
  • Firewalls wie nftables nutzen, um den Zugriff einzuschränken.

🔹 Übungen

  1. Aktiviere Logging und prüfe, ob Abfragen aufgezeichnet werden.
  2. Führe VACUUM und ANALYZE auf deiner Datenbank aus.
  3. Passe postgresql.conf so an, dass die Datenbank auch von einem anderen Rechner im LAN erreichbar ist.
  4. Bonus: Teste die Migration einer kleinen MySQL-Tabelle mit pgloader.

✅ Zusammenfassung

  • Logs helfen beim Debugging und Monitoring.
  • Mit postgresql.conf und pg_hba.conf steuerst du Verhalten und Sicherheit.
  • Performance-Tools wie VACUUM und Indizes halten die Datenbank schnell.
  • Admin-Tools wie pgAdmin können Einsteigern den Start erleichtern.
  • Migration von MySQL nach PostgreSQL ist möglich, aber erfordert manchmal Anpassungen.

🎉 Damit ist dein Kurs „PostgreSQL für Einsteiger (mit Vergleich zu MySQL/MariaDB)“ abgeschlossen!
Du kannst jetzt PostgreSQL installieren, verwalten, Datenbanken und Tabellen anlegen, CRUD-Befehle nutzen, Schlüssel & Constraints setzen, Indizes verwenden, Erweiterungen einsetzen und Backups erstellen.

 

📚 Inhaltsverzeichnis

👉 psql Kapitel 1: Installation & Anmeldung mit psql
👉 psql Kapitel 2: Benutzer & Rollen in PostgreSQL
👉 psql Kapitel 3: Datenbanken & Tabellen erstellen
👉 psql Kapitel 4: CRUD-Befehle (SELECT, INSERT, UPDATE, DELETE)
👉 psql Kapitel 5: Schlüssel & Constraints in PostgreSQL
👉 psql Kapitel 6: Indizes & Performance
👉 psql Kapitel 7: Erweiterungen & Spezialfunktionen
👉 psql Kapitel 8: Backups & Restore in PostgreSQL

⭐ Bonus-Kapitel

👉 psql Kapitel 9 (Bonus): Admin-Tipps & Best Practices für PostgreSQL