Database 从转储恢复sqlite数据库的一致性

Database 从转储恢复sqlite数据库的一致性,database,sqlite,Database,Sqlite,我正在尝试将sqlite转储还原到已经存在的数据库文件 $sqlite3 foo.db

我正在尝试将sqlite转储还原到已经存在的数据库文件

$sqlite3 foo.db 文件foo.db已存在,某些进程可能正在读取/写入该文件。
上述命令是否保证生成的文件不会损坏?
如果这不是解决这个问题的最佳方法,那么请让我知道更好的选择


谢谢

sqlite不会在文件级别损坏自身(它是ACID)。但是,我不相信会创建隐式的恢复范围事务,除非“转储”SQL本身中存在这样的事务。从Sqlite转储进行恢复将生成一个完整的数据库。为什么您要对现有数据库执行此操作,为什么不创建一个新数据库并还原到该数据库中,然后用还原的数据库替换现有数据库?嗨,我不确定替换部分,从临时文件到实际文件的常规重命名(“mv”)是否有效?