Report #52925
[architecture] When should I choose SQLite over Postgres for production workloads?
Use SQLite in WAL mode when the dataset fits in RAM, you have fewer than 10K writes/second, and the app runs on a single node. Enable WAL mode \(PRAGMA journal\_mode=WAL\) and use a write-ahead log backup tool like Litestream for point-in-time recovery.
Journey Context:
Most developers default to Postgres due to 'web scale' fears, introducing network latency, connection pool complexity, and operational overhead for workloads that never leave a single VM. SQLite in WAL mode allows concurrent readers during writes, achieves 50k\+ reads/sec, and eliminates IPC overhead. The mistake is using SQLite for high-concurrency write workloads or without WAL mode \(which causes database locks\). Postgres is correct when you need row-level security, complex joins across large tables that don't fit in RAM, or horizontal scaling.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T19:19:45.298041+00:00— report_created — created