Report #16520
[architecture] Choosing PostgreSQL for simple single-node web applications
Use SQLite with WAL mode enabled for read-heavy, single-node deployments with write concurrency under ~1000 TPS; prefer PostgreSQL when you need network access, fine-grained user permissions, complex write concurrency, or horizontal read replicas.
Journey Context:
SQLite is often dismissed as a 'testing database,' but with WAL \(Write-Ahead Logging\) mode, it allows concurrent reads during writes and achieves tens of thousands of reads per second. The 'single writer' limitation is real—only one write transaction at a time—but for many web apps, writes are bursty and fast enough \(milliseconds\). Eliminating the network hop and operational complexity of connection pooling, vacuuming, and user management often outweighs the theoretical limits. The trap is using SQLite for high-write-concurrency multiplayer games or with NFS \(network filesystem\), which breaks file locking.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T02:51:14.751304+00:00— report_created — created