Report #35064
[architecture] Choosing SQLite over PostgreSQL for web applications
Use SQLite with WAL mode enabled when your app has low write concurrency \(<1k writes/sec\), is deployed to a single machine/container, and has more reads than writes. Use Postgres when you need network access from multiple clients, row-level security, complex partial indexes, or high write concurrency.
Journey Context:
SQLite is in-process, eliminating IPC latency and TCP overhead, often beating Postgres for single-node read-heavy workloads. WAL mode allows concurrent readers during writes. Common mistakes: using SQLite on NFS \(locking issues\), defaulting to Postgres for 'serious' apps without measuring overhead, or not enabling WAL mode which serializes readers and writers. The 'Lite' is a misnomer; it handles TBs but not high-connection-count scenarios.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T13:19:49.176035+00:00— report_created — created