All Technologies
Databases·expert

PostgreSQL

The world's most advanced open source database

PostgreSQL is my go-to relational database. I design schemas, optimize queries, and leverage advanced features like JSONB, full-text search, and row-level security.

10+years in production
70+projects shipped
expertproficiency

My take

Why I use PostgreSQL

Postgres is the safe default for almost every project I start. Strong consistency, JSONB when I need flexibility, full-text search built in, pgvector for embeddings - I rarely outgrow it, and when I do, I usually shouldn't have.

Want the broader stack philosophy? Read about how Sri picks tools or browse engineering insights.

Honest assessment

Strengths & tradeoffs

No tool is perfect. Here's what shines and what to watch for.

Strengths

  • Mature ACID guarantees and rich SQL support
  • JSONB combines relational and document patterns
  • Extensions: pgvector, PostGIS, TimescaleDB
  • Excellent query planner and indexing options
  • Massive ecosystem and tooling

Tradeoffs (honestly)

  • Vertical scaling limits without sharding solutions
  • Default configs are conservative - needs tuning at scale
  • Replication setup has historically been complex
  • Schema migrations require care on hot tables

Fit assessment

When to reach for PostgreSQL

Pick the right tool for the job.

Best fits

Primary OLTP databases for SaaS apps

Multi-tenant systems using row-level security

Apps mixing relational and JSON data

Vector search via pgvector

Analytics on small-to-medium datasets

Not ideal for

Massive horizontal write scale - consider distributed SQL

Pure key-value workloads - use Redis

Wide-column analytics over petabytes

Common use cases

Primary databasesAnalytical queriesFull-text search

Resources

Learn more

Curated official docs, tutorials, and writing on PostgreSQL.

Need help with PostgreSQL?

Whether you're starting fresh or optimizing an existing implementation, I can help you get the most out of this technology. Read more in insights or get in touch.

Command Palette

Search for a command to run...