打开WAL sqlite DB只读

时间:2018-05-30 17:35:27

标签: sqlite

我在只读媒体上有一个WAL数据库(即db.sqlitedb.sqlite-waldb.sqlite-shm)。

我知道我不能像那样只读取它,因为根据文档,"even ordinary reads in WAL mode require recovery-like operations"

但我可以告诉sqlite将打开到内存中,并从内存中的只读WAL文件进行恢复吗?

这样我最终会得到一个恢复且完全可操作的内存数据库,其内容与磁盘上的文件相同。

1 个答案:

答案 0 :(得分:1)

将文件复制到RAM磁盘(安装tmpfs的任何地方)。

可以通过遵循recommendation

来避免这种情况
  

在传输到只读媒体之前,应始终将SQLite数据库转换为PRAGMA journal_mode = DELETE。