Man*_*ana 13 c unix sqlite sqlite-journal-mode
我在运行wal_checkpoint(FULL)后使用cp commmand来备份SQLite DB.DB正在WAL模式下使用,因此我的文件夹中还有其他文件,如-shm和-wal.当我运行wal_checkpoint(FULL)时,WAL文件中的更改将提交到数据库.我想知道运行检查点后-wal和-shm文件是否被删除了.如果没有,那么它们包含什么?
我知道我的备份过程不好,因为我没有使用SQLite备份API.这是我的代码中的一个错误.
任何人都可以建议运行检查点后-shm和-wal文件包含哪些内容.
提供的任何链接都会有所帮助.
谢谢
Man*_*ana 17
在搜索了众多来源之后,我认为以下情况属实:
-shm
文件包含该文件的索引-wal
.该-shm
文件在读取文件时提高了性能-wal
.-shm
文件被删除,则在下次数据库访问期间会再次创建该文件.checkpoint
运行,则-wal
可以删除该文件.要执行安全备份:
-shm
和-wal
文件.备份然后可以使用制造cp
,scp
等等.checkpoint
.这将删除数据库文件中的碎片,从而减小其大小,因此您可以通过网络传输较少的数据.该-shm
文件不包含任何永久数据.
关闭最后一个连接时,将自动检查数据库,-wal
然后删除该文件.这意味着在检查点之后,如果不存在其他连接,则该-wal
文件不包含任何重要数据.
如果可能,您应该在进行备份之前关闭连接.
归档时间: |
|
查看次数: |
21930 次 |
最近记录: |