PostgreSQL für Einsteiger
PostgreSQL ist eine der mächtigsten Open-Source-Datenbanken. Lerne die ersten Schritte: Installation, Tabellen anlegen, Daten einfügen und abfragen.
PostgreSQL, oft einfach "Postgres" genannt, ist eine der leistungsstärksten und beliebtesten Open-Source-Datenbanken der Welt. Sie ist robust, standardkonform und bringt viele moderne Funktionen mit. In diesem Beitrag machst du die ersten Schritte: vom Verbinden über das Anlegen von Tabellen bis zu den ersten Abfragen.
Was PostgreSQL besonders macht
Postgres ist eine relationale Datenbank, die sich strikt an den SQL-Standard hält und zugleich viele Erweiterungen bietet. Sie unterstützt komplexe Datentypen wie JSONB für JSON-Daten, leistungsfähige Indizes und Transaktionen mit voller ACID-Garantie. Für Hobbyprojekte ebenso geeignet wie für große Produktivsysteme.
Verbinden mit psql
Nach der Installation steht dir das Kommandozeilenwerkzeug psql zur Verfügung. Damit verbindest du dich mit einer Datenbank und führst Befehle aus.
# Mit einer Datenbank verbinden
psql -U postgres -d meinedb
# Eine neue Datenbank anlegen
createdb meine_appInnerhalb von psql helfen dir Meta-Befehle wie \l zum Auflisten der Datenbanken und \dt zum Anzeigen der Tabellen weiter.
Eine Tabelle anlegen
Tabellen erstellst du mit CREATE TABLE. Postgres bietet praktische Datentypen, und mit SERIAL bekommst du eine automatisch hochzählende ID.
CREATE TABLE benutzer (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(255) UNIQUE NOT NULL,
erstellt_am TIMESTAMP DEFAULT NOW()
);Mit NOT NULL erzwingst du, dass ein Wert vorhanden sein muss, UNIQUE verhindert Dubletten, und DEFAULT NOW() setzt automatisch den aktuellen Zeitpunkt.
Daten einfügen und abfragen
Neue Zeilen fügst du mit INSERT INTO hinzu. Danach kannst du sie mit den bekannten SELECT-Abfragen auslesen.
-- Daten einfügen
INSERT INTO benutzer (name, email)
VALUES ('Anton', 'anton@example.com');
INSERT INTO benutzer (name, email)
VALUES ('Maria', 'maria@example.com');
-- Daten abfragen
SELECT id, name, email FROM benutzer
ORDER BY erstellt_am DESC;Die id wird dabei automatisch vergeben, du musst sie nicht selbst angeben.
Daten aktualisieren und löschen
Bestehende Zeilen änderst du mit UPDATE und entfernst sie mit DELETE. Wichtig: Vergiss niemals die WHERE-Klausel, sonst betrifft die Änderung die gesamte Tabelle.
-- Eine E-Mail aktualisieren
UPDATE benutzer
SET email = 'anton.neu@example.com'
WHERE name = 'Anton';
-- Einen Benutzer löschen
DELETE FROM benutzer
WHERE id = 2;Ein DELETE ohne WHERE würde alle Datensätze entfernen, also sei hier besonders vorsichtig.
Der JSONB-Datentyp
Ein großes Plus von Postgres ist der JSONB-Typ, mit dem du flexible JSON-Daten direkt in einer Spalte speichern und abfragen kannst.
CREATE TABLE produkte (
id SERIAL PRIMARY KEY,
name TEXT,
details JSONB
);
INSERT INTO produkte (name, details)
VALUES ('Laptop', '{"ram": 16, "farbe": "silber"}');
-- Auf ein JSON-Feld zugreifen
SELECT name FROM produkte
WHERE details->>'farbe' = 'silber';So verbindest du die Struktur einer relationalen Datenbank mit der Flexibilität von JSON.
Fazit
PostgreSQL ist ein hervorragender Startpunkt, wenn du eine ernsthafte, kostenlose und zukunftssichere Datenbank suchst. Du verbindest dich mit psql, legst Tabellen mit klaren Datentypen und Constraints an und arbeitest mit den vertrauten SQL-Befehlen INSERT, SELECT, UPDATE und DELETE. Mit Funktionen wie JSONB wächst Postgres mit deinen Anforderungen. Probiere es an einem eigenen kleinen Projekt aus, der Einstieg ist leichter, als du denkst.