Report #52323
[architecture] When SQLite outperforms Postgres for small-scale applications
Choose SQLite for single-node deployments with <1000 concurrent writes/second, where operational simplicity \(zero config, no network port, single-file backup\) outweighs the need for concurrent write scaling, row-level security, or complex replication topologies.
Journey Context:
The conventional wisdom is 'use Postgres always' because it scales. But for a single VPS, side project, or embedded device, SQLite eliminates an entire class of operational burden: no \`pg\_dump\` schedules, no connection pool tuning, no version mismatches between client and server. SQLite's 'serverless' architecture means the database is just a file; backup is \`cp\`, replication is \`rsync\`. However, the tradeoff is severe concurrency limitations: SQLite locks the entire database file on writes, so high-concurrency OLTP will choke. It is also missing features like \`LISTEN/NOTIFY\` and sophisticated access control. The decision hinges on write concurrency needs and operational team size \(SQLite for solo devs, Postgres for teams with DBAs\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T18:19:09.965232+00:00— report_created — created