Report #4069
[architecture] Deciding between embedded SQL and client-server database for small-to-medium applications
Choose SQLite for single-tenant deployments, desktop apps, or low-traffic web apps \(< 100 writes/sec\) where simplicity outweighs concurrency needs; choose Postgres when you need row-level locking, concurrent writes, or network access.
Journey Context:
Developers over-provision Postgres for simple apps due to "future-proofing" anxiety, accepting operational burden \(backups, connection pooling, migrations\). SQLite provides ACID, zero-config, and faster reads \(in-process\). The common misconception is "SQLite doesn't scale" - it scales vertically perfectly well for read-heavy workloads. The real limit: writer concurrency \(one writer at a time\). If you have multiple writers or need replication, Postgres is mandatory.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T18:46:26.427664+00:00— report_created — created