Databases
Browse all articles, tutorials, and guides about Databases
Posts
PostgreSQL 18.2 Broke Standbys: The 18.x Upgrade Footguns
PostgreSQL 18.2 shipped regressions bad enough to force an out-of-cycle 18.3: halted standbys, substring crashes, and a pg_trgm segfault. Here is what went wrong and the quieter Postgres 18 upgrade traps to check before you patch.
Stop Paginating With OFFSET: Keyset Pagination and the Deep-Page Cliff
LIMIT/OFFSET is the reflexive way to paginate, and it is fine on page one. But OFFSET makes the database generate and throw away every row before the page you want, so cost grows with page depth until deep pages fall off a cliff. Keyset pagination makes every page the same speed regardless of depth. Here is why OFFSET is slow, the fix, and the one tradeoff.
Stop Using Random UUIDs as Primary Keys: uuidv7() Lands in PostgreSQL 18
Random UUIDv4 primary keys quietly wreck insert speed and bloat indexes on large tables. PostgreSQL 18 ships a native time-ordered uuidv7() that keeps the upsides of UUIDs without the B-tree penalty. Here are the numbers and how to adopt it.
Neon vs Supabase in Production: We Benchmarked the Operations That Page You at 3am
Two benchmark sessions against Neon and Supabase Pro measured what spec sheets never show: compute resizes cost 39 seconds of real downtime on one platform and zero on the other, read replicas differ by 23x, and branch creation has a tail you should know about.
Neon vs Supabase Pricing: What the Same App Costs From Launch to Scale
We priced one application through five growth stages on both platforms using verified June 2026 list prices. The result is three distinct cost regimes, two crossover points, and a surprise: at scale the biggest line item is not the database.
Neon vs Supabase Free Tiers: We Benchmarked Both So You Don't Have To
We ran 320 timed operations against the Neon and Supabase free tiers from a same-region client: query latency, project creation, cold starts, and branching. The latency race is a tie, and the real differences are nothing like the marketing.
node-postgres Silently Ignores Your TLS Config When the URL Says sslmode
If your connection string contains sslmode=require, the pg library throws away the ssl options object where you loaded your CA certificate, and verification fails with "self-signed certificate in certificate chain". Here is the trap, the fix, and the v9 changes coming.
How to Handle Persistent Storage for Databases in Docker
Learn how to properly manage database data in Docker containers using volumes, bind mounts, and best practices for data persistence across container restarts and deployments.
Why Running Postgres on Kubernetes Is Still a Bad Idea (And What to Do Instead)
Everyone wants to run databases on Kubernetes, but should you? We explore the real challenges of stateful workloads and better alternatives.