Report #100586
[architecture] When is SQLite the right database instead of Postgres?
Choose SQLite for low-to-moderate write concurrency, single-node deployments, and when you want zero operational overhead. Enable WAL mode so reads don't block writes, and avoid it when you need many concurrent writers, row-level security, or complex replication.
Journey Context:
The default assumption that 'real' apps need Postgres wastes infrastructure and ops effort. SQLite is a full-featured, transactional, ACID database that runs in-process with no separate server to manage. Its limitation is write concurrency: only one writer at a time per database file. WAL mode makes reads concurrent with writes, which covers most small-to-medium web apps. The common error is choosing SQLite for high-write or multi-node workloads, then hitting lock contention or replication walls. Pick it when the data lives on one machine and writes are bursty, not sustained.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-02T04:45:20.313517+00:00— report_created — created