PostgreSQL erlaubt dir, mehrere Datenbanken in einer Installation zu betreiben.
Jede Datenbank enthält Tabellen, die deine Daten speichern.
🔹 Datenbanken erstellen
Neue Datenbank anlegen
CREATE DATABASE firma;
👉 Erstellt die Datenbank firma
.
Mit der Datenbank verbinden
\c firma
👉 Du wechselst von der Standard-DB postgres
in die neue DB firma
.
🔹 Tabellen erstellen
Beispiel: Kunden-Tabelle
CREATE TABLE kunden ( id SERIAL PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(150) UNIQUE, erstellt_am TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
Erklärung:
id SERIAL PRIMARY KEY
→ automatisch hochzählende IDname
→ Zeichenkette bis 100 Zeichenemail UNIQUE
→ darf nicht doppelt vorkommenerstellt_am
→ Standardwert ist die aktuelle Zeit
🔹 Daten einfügen
INSERT INTO kunden (name, email) VALUES ('Anna Müller', 'anna@example.com');
🔹 Daten anzeigen
SELECT * FROM kunden;
Beispielausgabe:
id | name | email | erstellt_am ----+-------------+--------------------+---------------------------- 1 | Anna Müller | anna@example.com | 2025-10-02 21:15:32.123456
🔹 Unterschiede zu MySQL/MariaDB
1. Datentypen
- PostgreSQL ist strenger mit Typen → weniger automatische Umwandlungen.
- Zusätzliche Datentypen wie
JSONB
,ARRAY
,UUID
.
2. SERIAL vs. AUTO_INCREMENT
- MySQL:
id INT AUTO_INCREMENT PRIMARY KEY
- PostgreSQL:
id SERIAL PRIMARY KEY
3. Schemas
- PostgreSQL arbeitet mit Schemas (z. B.
public.kunden
). - Vergleichbar mit Datenbank-Namespace.
🔹 Tabellen auflisten
\dt
👉 Zeigt alle Tabellen in der aktuellen Datenbank.
🔹 Tabelle ändern (Spalte hinzufügen)
ALTER TABLE kunden ADD COLUMN telefon VARCHAR(20);
🔹 Tabelle löschen
DROP TABLE kunden;
🔹 Übungen
1. Erstelle eine Datenbank schule
und wechsle hinein.
2. Lege eine Tabelle schueler
an mit den Spalten:
id SERIAL PRIMARY KEY
vorname VARCHAR(50)
nachname VARCHAR(50)
geburtsdatum DATE
3. Füge einen Schüler ein und zeige alle Daten mit SELECT * FROM schueler;
.
4. Bonus: Ergänze die Tabelle um eine Spalte klasse VARCHAR(10)
.
✅ Zusammenfassung
- Mit
CREATE DATABASE
neue Datenbanken anlegen. - Mit
\c
in psql zur Datenbank wechseln. - Tabellen werden mit
CREATE TABLE
erstellt,SERIAL
erzeugt automatisch IDs. - PostgreSQL hat mehr und strengere Datentypen als MySQL.
- Tabellen lassen sich mit ALTER TABLE ändern und mit
DROP TABLE
löschen.
👉 Im nächsten Kapitel geht es um die wichtigsten Operationen: CRUD-Befehle (Select, Insert, Update, Delete).
📚 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