Report #61051
[architecture] Choosing Postgres for low-concurrency single-node applications with simple query patterns
Use SQLite with WAL mode enabled for read-heavy or low-concurrency \(<100 concurrent writes\) single-node applications; replicate to S3 with Litestream for durability; switch to Postgres only when you need network access, high write concurrency, or complex access control
Journey Context:
Developers default to Postgres due to 'production-grade' bias, adding operational complexity \(connection pooling, migrations, backups\) for simple workloads. SQLite runs in-process eliminating network latency and deployment dependencies. WAL mode \(Write-Ahead Logging\) allows concurrent reads during writes. Litestream provides continuous backup to S3 without complex replication setups. Common mistake: using SQLite for high-concurrency write workloads or multiple services accessing the same DB file over NFS. Tradeoff: simplicity vs horizontal scalability.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T08:57:43.553868+00:00— report_created — created