Stephan Schmidt - November 1, 2025
Einfach nur Postgres - Radikale Simplicität
Ersetze Redis, MongoDB, Kafka & mehr mit PostgreSQL. Reduziere Komplexität, beschleunige Entwicklung. Einfache Anleitung mit realen Beispielen.
TL;DR: Einfach nur Postgres für alles.
Wir haben die Komplexität zur Tür hereingelassen. Aber sie wird nicht so leicht wieder gehen.
Eine Möglichkeit, die Komplexität wieder rauszubekommen, ist die Vereinfachung deines Stacks. Weniger bewegliche Teile, schnellere Entwicklung, geringeres Risiko und mehr Features für dein Startup – das erreichst du mit “Postgres für alles”. Postgres kann – bis zu Millionen von Nutzern – viele Backend-Technologien ersetzen, darunter Kafka, RabbitMQ, Mongo und Redis. Das macht jede Anwendung einfacher zu entwickeln, zu skalieren und zu betreiben.

Weniger bewegliche Teile bedeutet weniger Entwickler für Komponenten, die keinen Mehrwert bieten oder nur existierende Funktionalität replizieren (Frontend), und mehr Entwickler für Bereiche (wie das Backend), die echten Mehrwert für Kunden schaffen. Was wäre, wenn du den Feature-Output erhöhen könntest, ohne höhere Kosten? Für Entwickler: Was ist mit geringerer kognitiver Last? Du verstehst wirklich alle beweglichen Teile in der Tiefe? Kein Hochstapler-Syndrom mehr?
Was ist PostgreSQL?
PostgreSQL (Postgres) ist ein Open-Source-Datenbankverwaltungssystem, das sowohl SQL- als auch NoSQL-Workloads unterstützt. Anders als spezialisierte Datenbanken kann Postgres als Cache, Message Queue, Document Store, Analytics Engine und vieles mehr dienen – was es zur idealen Wahl macht, um die Komplexität deines Technologie-Stacks zu reduzieren.
TLDR: Nutze einfach Postgres für alles, bis zu Millionen von Nutzern.
Warum PostgreSQL statt mehrerer spezialisierter Tools?
Startups verwenden typischerweise Redis für Caching, MongoDB für Dokumente, Kafka für Messaging und Elasticsearch für Suche – das erzeugt operativen Overhead, mehrere Fehlerpunkte und kognitive Last für Entwickler.
PostgreSQL kann die meisten dieser spezialisierten Tools für Anwendungen mit bis zu Millionen von Nutzern ersetzen und bietet:
- schnellere Feature-Entwicklung
- reduzierten operativen Overhead
- einen einzigen Expertise-Punkt statt mehrerer Technologien
- vereinheitlichte Monitoring-, Backup- und Skalierungsstrategien
Einfach Postgres nutzen
- Caching statt Redis
- Nutze Postgres mit UNLOGGED-Tabellen und TEXT als JSON-Datentyp. Verwende Stored Procedures oder mach es wie ich, nutze ChatGPT, um sie für dich zu schreiben, um ein Ablaufdatum für die Daten hinzuzufügen und durchzusetzen, genau wie in Redis.
- Message Queue statt Kafka
- Nutze Postgres als Message Queue mit SKIP LOCKED (wenn du nur eine Message Queue brauchst). Oder als Job Queue in Go mit River
- Data Warehouse
- Nutze Postgres mit Timescale als Data Warehouse. Nutze DuckDB für S3-Integration.
- Data Lake
- Nutze Postgres zusammen mit DuckDB als Data Lake. Es gibt ein Produkt dafür namens DuckLake, mit Postgres als Katalog.
- In-Memory OLAP
- Nutze Postgres mit pg_analytics als In-Memory-OLAP mit Apache Datafusion
- Dokumentendatenbank statt MongoDB
- Nutze Postgres mit JSONB, um JSON-Dokumente in einer Datenbank zu speichern, zu durchsuchen und zu indizieren. Wenn du einen Drop-in-Ersatz brauchst, nutze DocumentDB.
- Cron-Daemon
- Nutze Postgres als Cron-Daemon, um zu bestimmten Zeiten Aktionen auszuführen, wie das Versenden von E-Mails, mit pg_cron, das Events zu einer Message Queue hinzufügt.
- Geospatial Queries
- Nutze Postgres für Geospatial Queries.
- Volltextsuche statt Elastic
- Nutze Postgres für Volltextsuche.
- JSON-API-Generierung
- Nutze Postgres, um JSON in der Datenbank zu generieren, schreibe keinen serverseitigen Code und gib es direkt an die API.
- Auditing
- Nutze Postgres mit Auditing durch pgaudit
- GraphQL-Delivery
- Nutze Postgres mit einem GraphQL-Adapter, um bei Bedarf GraphQL bereitzustellen.
- Vector-Datenbank
- Nutze Postgres mit pgvector für Embeddings und KI-Ähnlichkeitssuche anstelle spezialisierter Vektor-Datenbanken.
- Session Store
- Nutze Postgres für Web-Session-Management anstelle von Redis mit passender Indexierung auf Session-IDs und Ablauf-Timestamps. Nutze hstore für einen Key-Value-Store.
- Rate Limiting
- Nutze Postgres für API-Rate Limiting mit atomaren Updates und zeitbasierten Fenstern anstelle von Redis-Countern.
- Distributed Locks
- Nutze Postgres Advisory Locks für Koordination zwischen Prozessen und Services.
- Event Sourcing
- Nutze Postgres für Event-driven Architekturen mit richtiger Reihenfolge und atomarer Event-Speicherung.
- Testing-Datenbank
- Nutze Postgres-Transaktionen für ephemerale Test-Datenbanken, die nach jedem Test zurückgerollt werden für einen sauberen Zustand. Nutze Postgres Template-Datenbanken für schnelle und einfache Datenbankerstellung für Tests.
- Metrics und Monitoring
- Nutze Postgres mit pg_stat_statements für Application-Performance-Metriken.
- Webhooks
- Nutze Postgres mit HTTP-Extensions, um HTTP-Benachrichtigungen bei Datenänderungen zu versenden.
- File-Storage-Metadaten
- Nutze Postgres für Datei-Metadaten und Large-Object-Storage anstelle separater Dateiverwaltungssysteme.
- Sichere Kryptografie
- Nutze pgcrypto für sichere Kryptografie.
- Mit Postgres skalieren
- Datenbankskalierung erfolgt oft durch Partitionierung. Nutze Postgres partman, um deine Datenbank zu skalieren.
- Multi-Tenancy
- Nutze Postgres Row-Level Security für SaaS-Anwendungen mit Tenant-Isolation.
- Scheduled Jobs
- Nutze Postgres mit pg_timetable für komplexe Job-Planung über einfaches Cron hinaus.
Postgres wird wie Linux. Linux hat alle anderen Unix/BSD-basierten Betriebssysteme zu einem System ersetzt – OpenBSD existiert noch und ist großartig, bringt tolle Ideen, hat aber im großen Ganzen einen vernachlässigbaren Marktanteil, sodass viele Leute noch nie davon gehört haben. Linux hat ein Entwicklungsmodell mit Modulen und Userland-Code, bei dem jeder teilnehmen kann – und neue Erfindungen in Betriebssystemen implementiert werden können. Auf die gleiche Weise absorbiert Postgres gute Ideen anderer Datenbanken und implementiert sie so, dass sie leicht in bestehenden Codebasen verwendet werden können. Mit der Marketing-Kraft und Reichweite von Postgres.
Da hab ich es gesagt, nutze einfach Postgres für alles.
Wie du PostgreSQL-Extensions installierst
Die Stärke von PostgreSQL kommt von seinem umfangreichen Extension-Ökosystem. So installierst du Extensions, um das volle Potenzial von Postgres freizuschalten:
1. Mit der PostgreSQL-Datenbank verbinden
Verbinde dich zunächst mit deiner PostgreSQL-Datenbank über das psql Command-Line-Tool oder einen PostgreSQL-Client:
psql -U username -d database_name
Ersetze username mit deinem PostgreSQL-Benutzernamen und database_name mit deinem Datenbanknamen.
2. Verfügbare Extensions prüfen
Liste alle verfügbaren Extensions auf, um zu sehen, was zur Installation bereit ist:
SELECT * FROM pg_available_extensions;
3. Die Extension installieren
Installiere eine Extension mit dem CREATE EXTENSION-Befehl:
CREATE EXTENSION extension_name;
Zum Beispiel, um die pgvector-Extension für Key-Value-Paare zu installieren:
CREATE EXTENSION vector;
4. Installation verifizieren
Bestätige, dass die Extension korrekt installiert wurde:
SELECT * FROM pg_extension;
FAQ
F: Aber was ist mit Single Points of Failure? A: Du meinst wie fünf verschiedene Systeme zu haben, die jeweils kaputtgehen können? Aktuell hast du Redis, Kafka und MongoDB. Das sind drei Fehlerpunkte, nicht einer. SLAs fallen schnell, mit drei Systemen bei jeweils 99,9% liegt das SLA bei 99,7%. Mit Postgres hast du ein System mit 99,9%, und du bist fertig.
F: Wird Postgres nicht zu langsam für Caching/Messaging sein? A: Instagram nutzt Postgres. Die haben mehr Nutzer als du. Dein Startup mit 10.000 Nutzern braucht keine Redis-Performance. Du brauchst Entwickler-Produktivität und operative Einfachheit. Wenn du wirklich an die Postgres-Grenzen stößt – nicht wenn du denkst, dass du es wirst – dann füge spezialisierte Tools hinzu.
F: Meine Senior-Entwickler werden rebellieren, wenn ich ihre Lieblingstools entferne A: Gute Senior-Entwickler kümmern sich darum, Features zu shippen, nicht damit, mit Spielzeug zu spielen. Zeig ihnen die DevEx-Verbesserung: ein Connection-Pool, ein Monitoring-Dashboard, eine Backup-Strategie. Wenn sie sich immer noch beschweren, sind sie nicht so senior, wie sie denken. Echte Entwickler wollen knifflige Feature-Herausforderungen lösen, nicht mit mehr Spielzeug spielen.
F: Das klingt nach Technical Debt, die darauf wartet zu passieren A: Technical Debt ist, sechs verschiedene Query-Sprachen, vier verschiedene Monitoring-Tools und drei verschiedene Backup-Strategien zu haben. Postgres für alles ist technisches Guthaben – du investierst in Einfachheit, die später Dividenden zahlt.
F: Wie verkaufe ich das Investoren/Board-Mitgliedern? A: “Wir haben unseren operativen Overhead um 60% reduziert und die Feature-Delivery-Geschwindigkeit um 50% erhöht.” Sie interessieren sich nicht für deinen Tech-Stack. Sie interessieren sich für Ergebnisse.
Über den Autor
Stephan Schmidt ist ein erfahrener CTO und Technology Leader mit über 40 Jahren Erfahrung im Aufbau und der Skalierung von Software-Systemen. Als ehemaliger CTO mehrerer Startups und Scale-ups hat er aus erster Hand Erfahrung mit der operativen Komplexität, die mit der Verwaltung mehrerer Datenbanktechnologien einhergeht.
Stephan hat Engineering-Teams erfolgreich durch Technologie-Vereinfachungsinitiativen geführt, dabei den operativen Overhead reduziert und gleichzeitig die Entwickler-Produktivität verbessert. Sein Ansatz “Postgres für alles” wurde in verschiedenen Branchen und Unternehmensgrößen erprobt, von frühen Startups bis zu Unternehmen mit Millionen von Nutzern.
Derzeit bietet er CTO-Coaching für Technology-Leader weltweit an und hilft CTOs, pragmatische Technologie-Entscheidungen zu treffen, die Business-Ergebnisse über technische Komplexität priorisieren.
Über mich: Hey, ich bin Stephan, ich helfe CTOs mit Coaching, mit über 40 Jahren Software-Entwicklung und 25+ Jahren Engineering-Management-Erfahrung. Ich habe 80+ CTOs und Gründer gecoacht und betreut. Ich habe 3 Startups gegründet. 1 schöner Exit. Ich helfe CTOs und Engineering-Leadern zu wachsen, ihre Teams zu skalieren, Klarheit zu gewinnen, selbstbewusst zu führen und die Herausforderungen schnell wachsender Unternehmen zu meistern.
