Background
I’ve been working with PostgreSQL for over four years now, having previously worked with MariaDB. MariaDB was fine for straightforward workloads, but it lacked the features PostgreSQL offers and once I made the switch, there was no reason to go back.
The migration that changed everything
The turning point was leading a large-scale migration operation, moving legacy data from one system to another across over 20 different databases, while restructuring the architecture to divide tenants into their own schemas within a single Laravel application. That project forced me to understand PostgreSQL at a level far beyond basic CRUD, and it’s where the database stopped being just a place to store data and became a genuine tool in my stack.
How I Use It
Since that migration, my PostgreSQL usage has expanded well beyond traditional relational workloads. The database has become central to how I architect systems at KnausDev.
What I build with PostgreSQL
- Multi-tenant schemas: isolated tenant data within a single database instance, each with their own schema namespace
- Logical replication: subscriptions and publications for data replication with logical aggregation, serving specific clients in a B2B2E setup
- Vector embeddings: pgvector for similarity search and semantic retrieval on large-scale datasets, powering AI-driven features
- Time-series data: structured time-based queries for search, analytics, and historical data analysis
- Complex migrations: zero-downtime schema changes and data transformations on live production systems
PostgreSQL is the default database for every new project at KnausDev, from the Exlink platform to Dadooo.ai. When a project calls for SQLite — typically local-first or embedded use cases — I’ll reach for that instead, but PostgreSQL handles everything else.
What Makes It Great
- Progressed from “a place to store data” to a genuine architectural tool, covering replication, vectors, time-series, and schema isolation all in one engine
- Multi-tenant schema isolation without the operational overhead of separate database instances
- pgvector turns the database into a vector store without adding another service to the stack
- Logical replication enables selective data sharing across complex B2B2E architectures
- Managed through pgAdmin for administration and query development
Status
Active: primary database across all production systems.