SQLite 的耐久性:文档与实际的冲突

2025-08-30

SQLite 数据库的耐久性设置令人困惑。其文档和创建者 Richard Hipp 的说法互相矛盾,一个声称默认情况下是持久的,另一个则指出默认设置下不保证持久性。这主要源于 `journal_mode` 和 `synchronous` 两个配置选项的交互复杂,以及不同模式下所需设置的差异。文章分析了两种模式(DELETE 和 WAL)下的耐久性要求,并指出为了确保数据持久性,最好明确设置 `synchronous` 选项,避免默认设置的歧义和未来可能的变化。同时,文章还提醒读者注意第三方库和 macOS 系统可能带来的额外问题。

开发