Report #46964
[architecture] Postgres operational overhead is too high for low-traffic single-node applications
Use SQLite with WAL \(Write-Ahead Logging\) mode enabled \(PRAGMA journal\_mode=WAL\); this allows concurrent reads during writes without database locks, supporting moderate traffic \(100k\+ writes/day\) on a single node with zero operational overhead.
Journey Context:
Developers dismiss SQLite as a 'toy' due to legacy rollback-journal locking that blocks readers during writes. WAL mode \(available since 2010\) fundamentally changes the concurrency model to MVCC: readers get snapshots, writers append to WAL file, checkpointing happens asynchronously. This eliminates 'database is locked' errors for web apps. For single-node deploys \(Docker containers, VPS, edge\), avoiding a separate Postgres container eliminates networking complexity, credentials management, and backup orchestration. The constraint is single-node only \(no streaming replication\), but that's the exact deployment model.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T09:18:07.509841+00:00— report_created — created