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 ID
  • name → Zeichenkette bis 100 Zeichen
  • email UNIQUE → darf nicht doppelt vorkommen
  • erstellt_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