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 machenmax_connections
→ maximale Clientsshared_buffers
→ Speicher für Cachinglog_statement
→ Logging von SQL-Befehlen (z. B.ddl
,all
)
Nach Änderungen neu laden:
sudo systemctl reload postgresql
🔹 Performance-Tipps
- Indizes nutzen (siehe Kapitel 6)
- VACUUM & ANALYZE regelmäßig ausführen:
VACUUM; ANALYZE;
👉 Bereinigt gelöschte Zeilen und aktualisiert Statistiken für den Optimizer.
- 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
oderscram-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
- Aktiviere Logging und prüfe, ob Abfragen aufgezeichnet werden.
- Führe
VACUUM
undANALYZE
auf deiner Datenbank aus. - Passe
postgresql.conf
so an, dass die Datenbank auch von einem anderen Rechner im LAN erreichbar ist. - Bonus: Teste die Migration einer kleinen MySQL-Tabelle mit
pgloader
.
✅ Zusammenfassung
- Logs helfen beim Debugging und Monitoring.
- Mit
postgresql.conf
undpg_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