2

データベースとしてsqliteを使用しているMacアプリケーションがあります。OSX 10.7 および 10.8 では、アプリケーションを起動すると、データベース ストレージとしてappName.sqliteという 1 つのファイルが作成されます。

10.9 Mavericksにアップグレードした後、アプリケーションを起動すると、3 つのファイルが作成されることに気付きました。

  • appName.sqlite
  • appName.sqlite-shm
  • appName.sqlite-wal

それらはある種の一時ファイルであると想定していますが、開くことができません。10.9 Mavericks でわかる範囲では SQLite が更新されており、この動作が関係しているのか気になります。

どんな洞察も非常に役に立ちます。

ありがとうございました

4

1 に答える 1

2

Duncan の回答は私を正しい方向に導きました。さらに調査を行ったところ、リリース ノートに記載されている答えが正しかったことがわかりました...

https://developer.apple.com/library/mac/releasenotes/DataManagement/WhatsNew_CoreData_OSX/

Mavericks には、デフォルトの SQLite の動作に対する次の変更が付属しており、その結果、問題が発生しました...

「Core Data SQLite 永続ストアは、10.9 以降にリンクされたすべてのアプリケーションでデフォルトで WAL journal_mode を使用します。このモードは、従来の SQLite ロールバック (削除) ジャーナリングよりも優れた信頼性とパフォーマンスを提供します。ただし、WAL journal_mode は読み取りには推奨されません-データベース ファイルのみ、または OS X v10.6 以前との相互運用が必要なファイル用です。」

于 2013-11-11T17:56:24.223 に答える