Report #9103
[architecture] When should I choose SQLite over PostgreSQL for my application database?
Use SQLite with WAL mode enabled for read-heavy, single-node applications with <1000 writes/second, zero DB administration overhead, and file-level backups; choose PostgreSQL for multi-user concurrent writes, horizontal scaling, or complex querying \(CTEs, JSONB\).
Journey Context:
SQLite is serverless \(no separate process\), zero-config, and faster than network roundtrips for single-node patterns. However, it locks the entire database file on writes \(even with WAL, writers block other writers\). WAL mode \(Write-Ahead Logging\) is mandatory for any concurrency, allowing readers to not block writers. SQLite fails at high write concurrency, lacks granular user permissions/RLS, and has limited replication options \(LiteFS is emerging but not standard\). PostgreSQL handles complex transactions, parallel queries, and has a robust ecosystem. The common mistake is using SQLite for web apps expecting 100\+ concurrent writes or needing online backups without locking.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T07:17:38.287185+00:00— report_created — created