fairlane.systems

POSTGRESQL · TECH

PostgreSQL: relationale Standard-Datenbank für CH-KMU und KI-Stacks

PostgreSQL 17 ist im Mai 2026 die Industrie-Default-Datenbank: JSON, Full-Text-Search, pgvector und PostGIS in einem System. MIT-ähnliche Lizenz, self-host-fähig.

Recherche & Faktencheck: · Stand: 2026-05

Was ist PostgreSQL?

PostgreSQL ist eine relationale Open-Source-Datenbank, die seit 1996 unter der PostgreSQL License (einer MIT-ähnlichen, sehr freien Lizenz) entwickelt wird. Im Mai 2026 ist Version 17 der stabile Standard; Version 18 ist im Beta-Stadium. PostgreSQL wird von Stripe, Notion, Instagram, GitLab und tausenden weiteren produktiven Systemen eingesetzt -- es ist die Datenbank, die am wenigsten oft die falsche Wahl ist.

Funktional deckt PostgreSQL deutlich mehr ab als das klassische SQL-Repertoire. Native JSON- und JSONB-Spalten erlauben semi-strukturierte Daten ohne separate Dokumenten-DB. Window-Functions, Common Table Expressions (CTEs) und Recursive Queries machen Reports möglich, die in MySQL umständlich sind. Mit der pgvector-Extension wird Postgres zur produktiv einsetzbaren Vektor-Datenbank für RAG-Workloads bis ca. 1 Million Embeddings. PostGIS macht die gleiche Instanz zur Geo-Datenbank für Liegenschafts- oder Logistik-Anwendungen.

Die Lizenz ist ein praktischer Bonus: keine Royalties, keine Re-Distribution-Sperren, keine Lizenz-Inspektionen. Ein KMU darf PostgreSQL frei einsetzen, modifizieren und weiterreichen -- auch in kommerziellen SaaS-Produkten. Im Vergleich zur SSPL-Lizenz von MongoDB oder Redis (ab 2024) ist das ein echter Vorteil.

In unserem Hetzner-Stack laufen mehrere Postgres-Instanzen pro Server in Docker-Containern: eine für Fairlane-Mandanten, eine für Acquanta-CRM, eine für Pexeos. Backup über WAL-Archiving plus Basebackup. Die Instanzen sind isoliert, aber teilen sich die Hardware -- eine kosteneffiziente Konfiguration für ein KMU mit mehreren Produkten.

Warum es wichtig ist

Die Datenbank-Entscheidung hält 5-10 Jahre. Wer falsch wählt, finanziert später Migrationen, die Wochen oder Monate Entwickler-Zeit verschlingen. PostgreSQL ist im Mai 2026 die sichere Default-Wahl für drei Gründe.

Erstens: Funktions-Breite ohne zusätzliche Server. Eine Postgres-Instanz erledigt relationale Daten, JSON-Dokumente, Full-Text-Search, Vektor-Suche und Geo-Queries. Wer bei einer KMU-Anwendung mit MySQL plus MongoDB plus Elasticsearch plus Qdrant startet, betreibt vier Server, vier Backup-Strategien, vier Monitorings. Postgres erledigt 80 Prozent davon in einer einzigen Instanz -- weniger Komplexität, weniger Risiko.

Zweitens: revDSG- und DSGVO-Tauglichkeit ohne Nachverhandlung. Self-Host auf Hetzner Falkenstein oder Helsinki ist eine 30-Minuten-Installation, kein Drittland-Transfer nötig. AVV (Auftragsverarbeitungsvertrag) fällt weg, weil keine externen Datenverarbeiter beteiligt sind. Für Treuhand, Anwalt, Versicherung und öffentlichen Sektor in CH ist das der Pfad des geringsten Widerstands.

Drittens: Migrations-Optionen bleiben offen. Postgres-Wire-Protokoll wird von CockroachDB (verteilt), Supabase (BaaS), Neon (Serverless) und AWS Aurora Postgres-kompatibel gesprochen. Wer in 3 Jahren auf eine dieser Optionen wechseln muss, hat einen klaren Migrationspfad -- meist ein Dump-Restore mit minimalen Anpassungen. MongoDB- oder DynamoDB-Migrationen sind dagegen mehrwoechige Projekte mit Schema-Redesign.

Der Kostenpunkt rundet das Bild ab: Postgres auf Hetzner CPX31 (4 vCPU, 16 GB RAM, 160 GB SSD) kostet CHF 25 pro Monat. Mit zusätzlich 30 CHF Storage-Box für Backups landet man bei CHF 55 pro Monat für einen Produktiv-Stack, der mit den meisten Cloud-Angeboten von AWS RDS (USD 70+) oder Azure Database for PostgreSQL (USD 80+) konkurriert -- bei voller Datenresidenz in der EU.

Wie es funktioniert

PostgreSQL ist ein klassischer Multi-Process-Server: ein Postmaster-Prozess akzeptiert Verbindungen, für jede Verbindung wird ein Backend-Prozess geforkt. Dazu kommen Hilfs-Prozesse für WAL-Writer, Checkpointer, Autovacuum und Background-Worker. Auf einem 16-GB-Server laufen typisch 100-200 Verbindungen komfortabel; bei mehr setzt man pgbouncer als Connection-Pool davor.

Die Speicher-Architektur trennt zwei Caches: shared_buffers (typisch 25 Prozent des RAM) hält Datenseiten, der OS-Page-Cache hält den Rest. WAL (Write-Ahead-Log) schreibt jede Änderung erst sequentiell auf Platte, dann werden Datenseiten asynchron geschrieben. Diese Architektur macht PITR (Point-In-Time-Recovery) möglich: man archiviert WAL-Segmente, und kann auf jeden Zeitpunkt zwischen zwei Basebackups zurückspielen.

Ein minimal-produktiver Setup sieht so aus:

CREATE TABLE mandanten ( id BIGSERIAL PRIMARY KEY, name TEXT NOT NULL, metadata JSONB DEFAULT '{}', created_at TIMESTAMPTZ DEFAULT now() );

CREATE INDEX idx_metadata_gin ON mandanten USING GIN(metadata); CREATE EXTENSION IF NOT EXISTS vector;

CREATE TABLE rag_chunks ( id BIGSERIAL PRIMARY KEY, mandant_id BIGINT REFERENCES mandanten(id), text TEXT, embedding VECTOR(1536) );

CREATE INDEX ON rag_chunks USING hnsw (embedding vector_cosine_ops);

Die Extensions-Mechanik ist Postgres-Kernstärke. Es gibt über 250 Extensions: pgvector für Embeddings, PostGIS für Geo, pg_partman für automatische Partitionierung, pg_stat_statements für Query-Performance, TimescaleDB für Zeit-Reihen, Citus für horizontale Skalierung. Jede Extension ist ein Drop-in -- CREATE EXTENSION reicht, kein Server-Restart.

Replikation läuft über Streaming-Replication mit Primary und Standby. Ein Standby kann synchron oder asynchron repliziert werden; für ein KMU reicht asynchron. Bei Failover wird der Standby per pg_promote zum Primary. Mit Patroni und etcd lässt sich Auto-Failover bauen -- aber für die meisten KMU-Setups ist manuelles Failover (RTO 15-30 Min) ausreichend, das spart Komplexität.

Backup-Standard: tagliches pg_basebackup auf eine Storage-Box, dazu kontinuierliches WAL-Archiving via pg_receivewal. Für Recovery: Basebackup + WAL-Segmente bis zum gewünschten Zeitpunkt, dann pg_ctl start. Eine 50-GB-Datenbank ist in 10-20 Minuten zurück.

PostgreSQL in 5 Schritten produktiv

  1. 01Hetzner-Server (CPX31 oder grosser) bereitstellen, Docker installieren, PostgreSQL 17 als Container mit gemountetem Volume starten.
  2. 02Schema und Extensions anlegen: CREATE EXTENSION pgvector / pg_stat_statements / pg_audit -- je nach Use-Case. Tabellen mit BIGSERIAL, TIMESTAMPTZ und Foreign Keys definieren.
  3. 03Backup-Strategie einrichten: tagliches pg_basebackup auf Hetzner Storage Box, kontinuierliches WAL-Archiving via pg_receivewal, Retention 30 Tage täglich plus monatlich.
  4. 04Monitoring anbinden: pg_stat_statements aktivieren, postgres_exporter für Prometheus, Grafana-Dashboard mit Query-Latenz, Connections und Cache-Hit-Ratio.
  5. 05Recovery testen: Backup zurückspielen, PITR auf einen Zeitpunkt vor 1 Stunde simulieren -- dokumentieren und im Notfall-Handbuch hinterlegen.

Wann PostgreSQL einsetzen

PostgreSQL ist die richtige Wahl, wenn (a) Daten relational strukturiert sind oder werden können, (b) Transaktions-Sicherheit (ACID) gefordert ist, oder (c) das Team eine bewährte, dokumentierte Standard-DB ohne Lock-in-Risiko sucht.

Konkrete Szenarien: ein Mandanten-Portal für ein Treuhand-Büro mit 200 Kunden, Rechnungen, Belegen und Zeiterfassung. Eine Anwalts-Software mit Fällen, Dokumenten, Honorar-Erfassung und Aktenführung. Ein Versicherungs-CRM mit Verträgen, Schäden, Provisionen. Eine SaaS-Plattform mit Multi-Tenant-Schema und Audit-Trails. Eine RAG-Wissensbasis mit pgvector für 100k-1M Embeddings.

Auch Postgres-Fälle, die oft übersehen werden: Time-Series-Daten (mit TimescaleDB-Extension) bis einige Milliarden Einträge, Job-Queue-Systeme (mit SKIP LOCKED), Eventual-Consistency-Stores (mit Logical Replication als Outbox-Pattern), Real-Time-Dashboards (mit pg_notify und Listen/Notify). Wer 2026 ein neues KMU-System startet, sollte mit Postgres beginnen und nur dann eine andere DB hinzunehmen, wenn ein konkreter Engpass auftritt.

Für regulierte Branchen in der Schweiz -- Treuhand (Art. 957a OR), Anwalt (Berufsgeheimnis Art. 321 StGB), Versicherung (FINMA-Aufsicht), öffentlicher Sektor -- ist Postgres self-host auf CH/EU-Hardware die operativ einfachste und rechtlich sauberste Konfiguration. Audit-Trail über pg_audit-Extension, Row-Level-Security für Mandanten-Trennung, Logical-Replication für Disaster-Recovery.

Wann NICHT

Bei ausschliesslicher OLAP-Last (Aggregate über Milliarden Zeilen) ist ClickHouse oder DuckDB schneller -- Postgres ist row-orientiert, columnar-DBs erreichen bei reinen Analyse-Workloads 50-100x Geschwindigkeitsvorteil. Wer in einem SaaS-Produkt 500M Telemetrie-Einträge pro Monat aggregiert, gehört nicht in Postgres.

Für Multi-Region-Setups mit synchroner Konsistenz über CH + DE + USA hinweg ist CockroachDB die bessere Wahl -- Postgres replication ist asynchron oder synchron mit hohem Performance-Verlust über WAN. Wer Datenkonsistenz unter 100 ms Latenz an drei Standorten braucht, sieht sich Cockroach an.

Für Embedded-Use-Cases ohne Server (Desktop-Apps, mobile Apps, eingebettete Geräte) ist SQLite besser geeignet -- eine Datei, kein Daemon, kein Netzwerk-Stack. Postgres braucht immer einen laufenden Server-Prozess und macht in Single-Tenant-Embedded-Szenarien keinen Sinn.

Für Workloads mit echten schemalosen Daten -- 50+ verschiedene Sensor-Typen mit jeweils anderem Schema, dynamisches CMS mit nutzerdefinierten Feldern -- kann MongoDB einfacher sein. Aber Vorsicht: in 80 Prozent der Fälle reicht Postgres jsonb plus GIN-Index, und Mongo bringt SSPL-Lizenz-Themen mit, die Postgres nicht hat.

In-Memory-Caching, Pub/Sub und Job-Queues sind in Redis besser aufgehoben -- nicht weil Postgres es nicht kann, sondern weil Redis-Latenz im Mikrosekunden-Bereich liegt vs. Postgres im Millisekunden-Bereich. Redis ist die richtige Ergänzung zu Postgres, nicht ein Ersatz.

Vor- und Nachteile

STÄRKEN

  • MIT-ähnliche Lizenz ohne Royalties oder Re-Distribution-Sperren
  • Funktions-Breite: relational, JSON, Vektor, Geo, Time-Series in einer DB
  • Riesiges Ecosystem mit 250+ Extensions und allen ORMs
  • PITR-Backup-Standard und stabile Streaming-Replication
  • Self-host auf Hetzner EU mit voller Datenresidenz

SCHWÄCHEN

  • Row-orientiert: bei reinen OLAP-Workloads schlägt ClickHouse / DuckDB
  • Replikations-Konfiguration für Auto-Failover nicht trivial (Patroni / etcd)
  • VACUUM-Pflege bei sehr hoher Schreib-Last als Operations-Aufgabe
  • Multi-Region-Synchronizität schwächer als CockroachDB

Häufige Fragen

Welche PostgreSQL-Version im Mai 2026?

Version 17 ist der stabile Standard, freigegeben September 2024 mit Support bis November 2029. Version 18 ist im Beta-Stadium, Final-Release erwartet im Herbst 2026. Für neue Setups: Version 17. Wer auf 14, 15 oder 16 ist, kann ohne Eile bleiben -- Postgres-Upgrades laufen sehr zuverlässig via pg_upgrade.

Reicht pgvector als Vektor-DB für eine KI-Wissensbasis?

Bis ca. 1 Million Embeddings ja, mit HNSW-Index und sauberer Query-Planung. Darüber lohnt eine dedizierte Vektor-DB wie Qdrant -- bessere Filter-Performance, einfacheres Sharding. Für 90 Prozent der KMU-RAG-Fälle (Mandanten-Dokumente, FAQ, Wissensartikel) ist pgvector ausreichend und spart einen zweiten Server.

Wie sieht ein Disaster-Recovery-Plan für Postgres aus?

Drei Ebenen: (1) täglicher Basebackup auf separater Storage Box, (2) kontinuierliches WAL-Archiving für PITR, (3) asynchroner Standby auf zweitem Server für schnelle Wiederherstellung. RTO 15-30 Min, RPO unter 1 Min. Backup-Restore quartalsweise testen -- ein nicht getesteter Backup ist kein Backup. Dokumentation im Runbook mit konkreten Befehlen.

Wie schraegt der Stack auf 1000 Anwender?

Vertikal sehr weit: ein Hetzner AX102 (16 Cores, 128 GB RAM, NVMe) handhabt typisch 500-1000 gleichzeitige Anwender bei einer Standard-OLTP-Last. Mit pgbouncer als Connection-Pool, korrekt gesetzten Indexes und ein paar geschickten Materialized Views. Erst jenseits davon braucht es Read-Replicas oder Sharding (mit Citus-Extension).

Verwandte Themen

DB-VERGLEICH · TOOL-VERGLEICHDatenbanken im Vergleich: PostgreSQL, MySQL/MariaDB, SQLite, MongoDB, Redis, ClickHouse, CockroachDB, SurrealDB, DuckDB, SupabaseSUPABASE · TECHSupabase: Postgres-basierter Backend-as-a-Service mit EU-Region FrankfurtCOCKROACHDB · TECHCockroachDB: verteiltes Postgres-kompatibles SQL für Multi-Region-SetupsQDRANT · TECHQdrant: produktive Vektor-Datenbank für RAG und Semantische SucheVEKTOR-DB · AI-KONZEPTVektor-Datenbanken im Vergleich: Qdrant, Weaviate, Milvus, Pinecone, Chroma, pgvectorHETZNER · TECHHetzner als EU-Hosting für CH-Treuhand und KMU: Rechenzentren, Verträge, KostenBACKUP · SICHERHEITBackup-Strategien 3-2-1 und 3-2-1-1-0: So sichern Sie ein KMU revisionsfest

Quellen

  1. PostgreSQL 17 Release Notes · 2026-05
  2. PostgreSQL Versioning Policy and Support Lifecycle · 2026-05
  3. pgvector extension - GitHub releases · 2026-05
  4. PostgreSQL Licensing FAQ · 2026-05

PASSEND ZU IHREM STACK?

Wie das in Ihrem Betrieb konkret aussieht – 30 Minuten Erstgespräch.

Erstgespräch buchen