pg_stat_statements: The Four Queries I Run Before Adding an Index
The four pg_stat_statements queries I run before touching an index, why sorting by total time beats mean time, and what the extension can never tell…
The four pg_stat_statements queries I run before touching an index, why sorting by total time beats mean time, and what the extension can never tell…
plx lets you write a Postgres stored procedure in PHP, Go or Ruby that transpiles to plpgsql. I tried it, and here is where the…
pgvector plus HNSW replaced Pinecone on half my side projects. The schema, the index picks, hybrid search with FTS, and where I still reach for…
Real experience with Postgres full-text search in 2026: when tsvector and GIN indexes beat Elasticsearch, and the queries I actually ship in production.
I switched a Next.js app from Prisma to Drizzle last spring. Here's how I now pick between the two TypeScript ORMs on real serverless projects.
After two years of running Diesel and sqlx in Rust production services, here is how I actually pick between them in 2026, and what each…
I pointed a local 7B model at my Postgres database to write SQL from plain English. Here's where text-to-sql LLMs held up, where they lied,…
After running PgBouncer for years, I moved one workload to PgCat. Here's what it gave me, where PgBouncer is still better, and the migration steps…
Drizzle vs Prisma in 2026: my honest take after six months in production on Next.js, Hono on Workers, and one boring Node service on a…
My one-line rule for SQLite vs Postgres, the four PRAGMAs that made SQLite production-ready for me, and the cases where I still pick Postgres without…