Как очистить файлы базы данных SQLite хранилища Firefox, чтобы удалить большие файлы SQLITE-WAL?
Я заметил, что файлы WAL (журнал упреждающей записи), (*.sqlite-wal), связанные с базами данных SQLite (*.sqlite), используемыми веб-браузером Firefox, часто становятся довольно большими. Они буквально могут в 150 раз превышать размер связанных с ними баз данных SQLite и сохранять этот размер в течение месяцев (годов? навсегда?).
Согласно этому ответу StackOverflow , возможным решением может быть запуск следующей команды прагмы SQLite в каждой затронутой базе данных хранилища:
PRAGMA schema.wal_checkpoint(TRUNCATE);
Теоретически для выполнения этого действия можно использовать внешний по отношению к Firefox инструмент SQLite, но я узнал, что выполнение действий в Firefox обычно дает наилучшие результаты. (Например, попробуйте поработать с
omni.jar
за пределами Firefox... это может быть PITA, потому что Mozilla использует нетипичную структуру JAR.)
Есть ли в Firefox способ очистить все базы данных хранения SQLite, чтобы их содержимое полностью записывалось в соответствующий.sqlite
файлы?
ОБНОВЛЯТЬ:
Я хотел бы отметить, что одна из основных целей публикации этого вопроса — безопасно справиться сstorage-sync-v2.sqlite-wal
файл, который увеличивается до тех пор, пока не достигнет 32 МБ в каждом профиле Firefox. Соответствующая база данных,storage-sync-v2.sqlite
, также имеетstorage-sync-v2.shm
файл, но имеет тенденцию оставаться довольно небольшим. Чтобы сосредоточить внимание на одной теме в каждом вопросе , я написал связанный вопрос, специально предназначенный для достижения этой цели .