請耐心等待 - 我會嘗試在這個問題中使用正確的術語。我有一個iOS應用程序,允許用戶現在創建其Core Data支持的.sqlite數據庫的備份。出於某種原因,遙想當年,我爲journal_mode爲「MEMORY」設置選項編譯指示,這意味着每個已經取得了過去幾年的備份沒有WAL或SHM文件。我正在重寫我的所有數據庫代碼,並且我知道iOS的當前默認journal_mode是「WAL」。當我導入與journal_mode「MEMORY」做了備份,我想與該文件在WAL模式(我希望所有新的備份是一樣的 - 在WAL模式)莫名其妙地結束了,但我不知道,如果這甚至有可能。一個沒有WAL或SHM文件的.sqlite可以被迫開始創建它們嗎?我試圖用NSPersistentStore方法來創建備份,現在恢復的數據,看完記得,在整個過程中使用的選項(即journal_mode)需要保持一致(我將發佈的鏈接,這一點,如果我能找到它)。我相信,因爲我沒有WAL文件,所以我需要使用「MEMORY」或「DELETE」journal_mode進行導入。但是,我不確定這是否意味着該文件將永遠不需要WAL文件就能運行,或者我可以做些什麼來使其在WAL模式下運行。我希望這是有道理的 - 這對我來說有點令人困惑,但我希望對如何解決這個問題有任何想法。沒有WAL文件的核心數據.sqlite備份可以恢復到WAL模式嗎?
1
A
回答
2
您可以隨時更改數據庫的日誌模式,只要你有獨佔訪問;只需打開它,然後執行PRAGMA。 (事實上,這是爲了讓WAL模式的唯一方法。)
請注意,只有WAL模式的持久存儲在數據庫中的文件;任何其他日記模式都是連接的屬性;當打開非文件WAL時,它默認處於DELETE模式。
相關問題
- 1. 備份和恢復核心數據的SQLite(核心數據)
- 2. 備份恢復SQLite的核心數據iphone
- 3. 如何觸發PostgreSQL熱備WAL文件恢復?
- 4. SQLite:開始提交WAL模式
- 5. sqlite在WAL模式下返回SQLITE_BUSY
- 6. SQLite:堅持WAL模式下的文件句柄
- 7. 是否可以在Android SQLite數據庫上禁用WAL?
- 8. 在Hbase中使用WAL進行恢復
- 9. 具有私有緩存的SQLite WAL模式,內存中數據庫?
- 10. 如何打開.sqlite-wal
- 11. HBase中的WAL文件
- 12. HBase中的WAL文件
- 13. 刪除WAL文件後PostgreSQL熱備份不會啓動
- 14. Postgresql WAL archive_command文件比較
- 15. 可以備份和恢復UseMachineKeyStore中的數據嗎?
- 16. 備份/恢復到Gmail嗎?
- 17. WAL級別不足以進行在線備份
- 18. SQLite的:WAL模式並不表現爲持續性
- 19. wal-e:無法將備份推送到S3
- 20. 如何在WAL模式下打開SQLite連接
- 21. System.data.sqlite - 激活WAL日誌模式
- 22. 備份在沒有得到恢復
- 23. 如何將Android上的SQLite數據庫備份/恢復到Dropbox
- 24. PHP SQLite PRAGMA journal_mode = wal和只讀用戶
- 25. PostgreSQL的WAL成山
- 26. WAL-E:不能重新啓動的PostgreSQL備份後取
- 27. 如何在Windows中將SQLite數據庫journal_mode更改爲WAL?
- 28. 恢復沒有用戶的mysql備份
- 29. MySQL(5.x)數據庫備份/恢復到文件工具
- 30. 如何將整個備份文件恢復到MySql數據庫?
真棒。謝謝。 – SAHM