私は最近、サーバがシャットダウンしたときにSQLiteを利用するいくつかのアプリケーションが破損の問題を抱えているという問題に遭遇しています。それがハードウェアの問題ではないことを知って、私は問題の根底に到達したいと思います。SQLiteにプラグマの整合性チェック用の冗長オプションはありますか?
これらのSQLiteデータベースのうち、破損が発生した後でスナップショットを撮ったので、何かを学ぶことができます。
データベースでpragma_integrityチェックを実行しましたが、「エラー:データベースディスクイメージが不正です」という結果が返されました。これはまさにアプリケーションログに出力されているものです。
このチェックには冗長モードがありますか?私はSQLiteのドキュメントで何も見ることができませんでした。
また、データベースを分析するために使用できるものがありますか?あなたが完了する前に、それが返すエラーの数を指定するためにintegrity_check(n)
を使用することができますが
PRAGMAは中止するべきではありません。このバグは最近修正されました。最新バージョンをお試しください。 –
これはいつ修正されたのですか?私はFedora Rawhideとの出会いをかなり前にしています。私はSQLite 3.20.1にいるのですか? – dcrdev
[3.21.0](http://www.sqlite.org/releaselog/3_21_0.html) –