Report #7936
[architecture] Choosing between SQLite and Postgres for small-to-medium web applications
Use SQLite with WAL \(Write-Ahead Logging\) mode enabled for single-node deployments handling <100k requests/day and read-heavy workloads; switch to Postgres only when you require concurrent write throughput >1k TPS, row-level security, or multiple app servers writing simultaneously.
Journey Context:
Teams default to Postgres due to 'web scale' fears, adding connection pooling and operational complexity that is unnecessary for single-node apps. SQLite with WAL supports 60k\+ reads/sec and handles concurrent reads during writes, but suffers from writer lock contention; thus it's unsuitable for high-concurrency write scenarios. The threshold is usually 1-2 app servers: beyond that, Postgres' MVCC wins.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T04:11:32.094442+00:00— report_created — created