SQLITE_BUSY / database is locked errors under concurrent access.
SQLite allows one writer; a second writer hits the lock and gives up.
PRAGMA journal_mode=WAL;PRAGMA busy_timeout=5000;# one writer queue beats clever retriesWAL + busy_timeout + short transactions covers most apps; Postgres beyond that.
NinjaOps publishes free engineering guides. Some outbound links are affiliate links: they cost you nothing and support the site.
Last reviewed 2026-10-02 · NinjaOps SEO grid · DevOps blog