SQLite super-journal
A SQLite super-journal is a coordination file that links recovery outcomes for a qualifying rollback-mode transaction modifying multiple attached databases on one connection.
The super-journal lists participating rollback-journal paths, not database page contents. After journal and database synchronization, deleting it marks the multi-file commit; remaining individual journals can then be cleaned up. [1] Creation requires at least two modified databases with synchronous not OFF and journal_mode outside OFF, MEMORY and WAL. [2] The documented cross-file guarantee also excludes an in-memory main database. [3] This mechanism belongs to SQLite's attached-database transaction, not an arbitrary set of database servers. See the commit-scope comparison. [6]
Relations
- related
- rollback-journal, hot-journal, write-ahead-log, crash-consistency, fsync, persistence-ordering
Advantages
- Provides a shared recovery decision for participating databases under the documented rollback-mode conditions. [1]
Limitations
- WAL transactions remain atomic per database, not across the attached database set. [4]
- Missing volumes or changed mount paths after a crash can break the links between journals and compromise cross-file atomicity. [5]