Author: David Sterling

David Sterling is a PostgreSQL database expert specializing in performance optimization, query tuning, and database administration. With years of experience helping developers and businesses optimize their PostgreSQL deployments, David shares practical insights and best practices on this blog. For inquiries or consulting, contact: [email protected]
Performance and tuning

Postgres VACUUM Tuning: Stop Table Bloat from Slowing Queries

Dead tuples are invisible—until they aren’t. On write-heavy workloads—order and status tables, event streams, telemetry from Houston’s energy corridor—every UPDATE and DELETE leaves an old row version behind. PostgreSQL’s MVCC design is why readers never block writers, but the tradeoff is that stale row versions accumulate until autovacuum sweeps them away. When autovacuum falls behind, […]

David Sterling 
AI Features and extensions pgvector

pgvector Guide: Setup, Indexes, and Query Examples

Embeddings search is no longer a novelty feature; it is table stakes for Postgres teams building RAG pipelines, semantic search, and recommendation engines. pgvector, the open-source extension that adds vector columns and nearest-neighbor search to PostgreSQL, is where most of those teams start. The current v0.8.x line supports Postgres 13 and later, with single-precision, half-precision, […]

David Sterling 
AI Features and extensions pgvector

pgvector vs pgvectorscale: Which Postgres Vector Extension?

Vector search used to mean bolting a separate database onto your stack. Two open-source PostgreSQL extensions have changed that: pgvector and pgvectorscale. Both are free, both run inside Postgres, and both have shipped meaningful upgrades in the past year — pgvector is at v0.8.6 with iterative index scans and half-precision vectors, while pgvectorscale 0.9.0 added […]

David Sterling 
Architecture and operations

How OpenAI Scales PostgreSQL: 5 Ops Lessons

OpenAI’s engineering team recently published “Scaling PostgreSQL to power 800 million ChatGPT users” — a detailed account of how ChatGPT’s primary data store survives traffic that would flatten most databases. The headline: it’s one PostgreSQL primary handling every write, roughly 50 read replicas, and a stack of operational habits that keep the write path alive. […]

David Sterling