Report #94513
[architecture] Defaulting to PostgreSQL for low-write, single-node applications due to 'production' bias
Use SQLite with WAL \(Write-Ahead Logging\) mode enabled for workloads with <1000 writes/second, no requirement for row-level locking across connections, and single-node deployment; configure 'PRAGMA journal\_mode=WAL' and 'PRAGMA synchronous=NORMAL' for optimal concurrency.
Journey Context:
Developers mistakenly believe SQLite locks the entire database for writes \(true only in legacy 'rollback journal' mode\). With WAL mode, SQLite allows concurrent readers and a single writer with ACID guarantees, sufficient for most web applications. The error is operationalizing a networked database \(Postgres\) for a single-node app, adding network latency, connection pool complexity, and backup/restore operational burden. The specific threshold is write concurrency: if you have multiple writers contending for the same rows, or need online streaming replication, Postgres is required; otherwise, SQLite's file-based backup and zero-configuration deployment significantly reduce complexity.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T17:13:22.865047+00:00— report_created — created