Zum Hauptinhalt springen
Alle Artikel
  • postgresql
  • extensions
  • datenbank
  • backend
  • supabase
  • hasura
  • open-source
  • softwareentwicklung

Die Datenbank, die heimlich euren ganzen Stack betreibt

PostgreSQL

Stellt euch vor, ihr baut eine neue App. Ihr braucht Caching - also Redis. Background Jobs? Kafka. Suche? Elasticsearch. AI-Features? Natürlich noch eine Vector-Datenbank. Und am Ende des Monats sitzt ihr vor einem Haufen SaaS-Rechnungen, während eure einzigen Nutzer ihr selbst und eure Mutter seid.

Klingt bekannt? Dann hat "The Coding Gopher" in seinem aktuellen Video genau das richtige Gegengift parat: PostgreSQL. Eine Open-Source-Datenbank mit über 30 Jahren Entwicklungsgeschichte - und der heimliche Boss eurer gesamten Infrastruktur.

Die folgenden beiden Videos bilden die inhaltliche Grundlage und Informationsquelle für diesen Blogpost - wer lieber anschaut als liest, findet hier den Großteil der Infos (Supabase und Hasura kommen allerdings erst weiter unten im Text dazu):

▶️"I replaced my entire stack with Postgres…" von The Coding Gopher

▶️Und der Klassiker von Fireship


Modern Software Engineering oder Subscription Management?

Das Video trifft einen Nerv: Moderne Backend-Architektur ist oft weniger Engineering als vielmehr das Zusammenkleben möglichst vieler spezialisierter Dienste - jeder mit eigener Billing-Seite, eigenem SDK und eigenem Ausfallrisiko. Der Coding Gopher nennt das treffend einen "overengineered, wildly overpriced trap" - und schlägt vor, all diese Abhängigkeiten einfach in den Mülleimer zu werfen.


Was Postgres eigentlich alles kann

PostgreSQL ist nicht einfach "eine Datenbank". Es ist - um eine filmreife Metapher zu bemühen - das Skyrim der Datenbanken: ein solides Fundament, das sich durch Extensions so aggressiv modden lässt, bis es genau das tut, was man will.

Hier die wichtigsten Anwendungsfälle aus dem Video:

  • NoSQL / JSON: Der JSONB-Datentyp speichert JSON als Binary und erlaubt mit einem GIN-Index blitzschnelle Abfragen auf beliebig tief verschachtelte Dokumente - ganz ohne MongoDB
  • Message Queue: Das FOR UPDATE SKIP LOCKED-Kommando verwandelt eine normale Tabelle in eine hochperformante, nebenläufige Job-Queue ohne Deadlocks - RabbitMQ kann packen
  • Volltextsuche: tsvector + tsquery + pg_trgm für Fuzzy-Matching machen Elasticsearch für interne Suchen schlicht überflüssig
  • Vector Search: Die pgvector-Extension unterstützt HNSW-Indizes für Nearest-Neighbor-Search direkt neben euren relationalen Daten - kein Pinecone nötig
  • Geodaten: Das PostGIS-Plugin ist für GIS-Anwendungen nicht nur eine Alternative, sondern der Industriestandard
  • Time Series: Declarative Partitioning + BRIN-Index macht aus Postgres einen konkurrenzfähigen Ersatz für spezialisierte Timeseries-Datenbanken
  • Analytics / Dashboards: Materialized Views ersetzen teure Data Warehouses wie Snowflake für die meisten Dashboard-Anwendungsfälle
  • API Layer: PostgREST oder pg_graphql generieren automatisch eine vollwertige REST- oder GraphQL-API direkt aus dem Schema
  • Security: Row-Level Security erlaubt es, Datenzugriffsregeln direkt in der Datenbank zu definieren - euer Datenbankserver wird zu eurem Backend

Auth, Cron, Cache & Co. - was Fireship noch draufpackt

(Ergänzend zum Coding Gopher: Fireship hat in seinem Video noch ein paar weitere unorthodoxe Postgres-Tricks draufgelegt - hier die Highlights, die den Stack noch weiter ausdünnen.)

Cron Jobs direkt in der Datenbank? Mit der pg_cron-Extension einfach ein SQL-Statement auf einem Zeitplan ausführen - kein Herumfummeln in der Crontab, kein SaaS-Abo. Caching geht ebenfalls: Eine UNLOGGED TABLE deaktiviert das Write-Ahead-Log (womit man bewusst Durability gegen Performance tauscht), landet im Shared Buffer im RAM und wird per pg_cron automatisch von abgelaufenen Einträgen bereinigt. Armer Redis.

Und dann wäre da noch Auth - das Thema, bei dem die meisten reflexartig zu Auth0, Clerk oder Firebase greifen. Dabei reichen zwei Extensions: pgcrypto hasht das Passwort beim Speichern sicher ab, ein simples Query mit der crypt()-Funktion verifiziert den Login, und pgjwt signiert kryptografisch einen JSON Web Token direkt auf dem Datenbankserver. Row-Level Security übernimmt den Rest: Policies definieren, wer welche Zeilen lesen oder schreiben darf - und schon sieht der User nur noch seine eigenen Daten. Kein Auth-Microservice, kein SDK-Update, das alles bricht.

Supabase - das Firebase-Killer-Bundle

Wer das trotzdem nicht von Hand zusammenbauen möchte - absolut verständlich -, wirft einen Blick auf Supabase. Im Kern ist es nichts anderes als Postgres, verpackt mit vollständigem Auth-System (OAuth, Magic Links, MFA), Auto-generated REST- und GraphQL-APIs, Realtime-Subscriptions und einem Storage-Layer. Kurz gesagt: Euer Firebase könnt ihr auch gleich einstampfen.

Das Beste daran: Supabase lässt sich prima selbst dockern. Kein Vendor Lock-in, keine Überraschungen auf der Monatsrechnung, volle Datenkontrolle - und kombiniert mit pgvector, PostGIS, pg_trgm und all den anderen Extensions gibt es dann buchstäblich fast nichts mehr, was es nicht gibt.

Bonus: Hasura - der heimliche GraphQL-Turbo

Wenn wir schon dabei sind, den ganzen Stack umzukrempeln, gehört Hasura zwingend auf die Liste - auch wenn es in keinem der beiden Videos auftaucht. Hasura liest euer Postgres-Schema und macht daraus eine vollwertige GraphQL-API inklusive Subscriptions, granularer Permissions, Joins über Remote Schemas und Event Triggers. Das Besondere: die Query-Engine übersetzt GraphQL in ein einziges, optimiertes SQL-Statement - kein N+1-Problem, keine Resolver-Pyramide. Für viele CRUD-lastige Projekte erspart das ziemlich großzügig geschnittene Node- oder Python-Backends.


Keine Silberkugel - aber verdammt nah dran

Natürlich ist Postgres kein Allheilmittel. Für horizontales Sharding bei extremem Enterprise-Scale, für Millionen Telemetrie-Events pro Sekunde oder Sub-Millisekunden-Caching für Millionen gleichzeitiger WebSocket-Verbindungen braucht man weiterhin spezialisierte Tools. Aber bis man diesen Schwellenwert erreicht - und seien wir ehrlich, die meisten Projekte tun das nie - ist Postgres die mit Abstand kosteneffektivste und wartungsärmste Architekturentscheidung, die man treffen kann.

"Until you cross that threshold of massive enterprise scale, leaning on the core battle-tested mechanics of Postgres to run your entire stack is arguably the smartest and most cost-effective engineering decision you can make."


Das Fazit

Die Cloud-Anbieter haben uns jahrelang darauf konditioniert, für jeden Use Case einen eigenen Dienst zu buchen. Postgres beweist, dass ein tiefes Verständnis einer einzigen, gut gereiften Technologie mehr wert ist als ein Dashboard voller bunter SaaS-Logos. Das nächste Mal, bevor ihr für "einfach schnell ein Redis aufmachen" eine neue Kreditkarte hinterlegt - schaut zuerst, ob Postgres das nicht schon längst kann.

Spoiler: Kann es meistens.

🐘 All hail Postgres 🐘


*Wer mehr solcher pointierten Deep-Dives möchte: The Coding Gopher auf YouTube ist ein Abo wert - es lohnt sich. Und Fireship gehört sowieso in jedes Dev-Abo: das legendäre "X in 100 seconds"-Format bringt neue Frameworks, Sprachen und Tools in eineinhalb Minuten auf den Punkt, dazu längere Erklärvideos zu Webdev, Datenbanken, Cloud und was gerade Schlagzeilen macht - maximal informationsdicht, mit trockenem Humor und ohne Füllwörter.