Report #16832
[architecture] Over-provisioning PostgreSQL for low-write, high-read services causing connection pool exhaustion
Use SQLite in WAL \(Write-Ahead Logging\) mode for read-heavy, single-writer services where connection latency exceeds query time; avoid it for concurrent write-heavy or online schema migration scenarios.
Journey Context:
Teams default to Postgres even for microservices that perform simple CRUD with <10 writes/second and thousands of reads. The overhead of TCP connection pooling, query planning, and row-level locking often dominates latency. SQLite in WAL mode allows concurrent readers to proceed without blocking on a single writer, achieving 100k\+ reads/sec with microsecond latency and zero connection management. The critical constraint: only one writer at a time; if you need concurrent writes or online schema changes \(ALTER TABLE locks\), Postgres is required. Also, SQLite is file-based; NFS or network drives corrupt it. Use it for edge-deployed services, local caches, or Lambda-like environments where the DB is ephemeral.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T03:47:43.668601+00:00— report_created — created