You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Firefox浏览器内刷新SQLite存储数据库以清理过大的SQLITE-WAL文件?

如何在Firefox浏览器内刷新SQLite存储数据库以清理过大的SQLITE-WAL文件?

我太懂你这种烦恼了——Firefox里的SQLite WAL文件(就是那些*.sqlite-wal)经常疯长,有时候能膨胀到对应*.sqlite数据库的150倍,还一直保持这个大小,几个月甚至更久都不缩小,实在闹心。

你提到的PRAGMA schema.wal_checkpoint(TRUNCATE);命令确实是解决这类问题的关键,而且正如你所说,在Firefox内部操作比用外部SQLite工具靠谱多了,毕竟Firefox的文件结构有时候有点特殊,外部工具容易踩坑。

下面就是在Firefox内部执行这个命令、刷新数据库并清理WAL文件的具体步骤:

  • 先把Firefox的所有多余窗口关掉,只留一个窗口,避免数据库被多个进程锁定导致操作失败。
  • 打开开发者工具:可以按F12快捷键,或者右键页面空白处选择「检查」。
  • 在开发者工具顶部的面板栏里,找到「Storage」标签(如果没看到,点击面板右上角的三个点,在弹出的菜单里勾选「Storage」)。
  • 左侧导航栏展开「SQLite」选项,就能看到当前Firefox使用的所有SQLite数据库了,找到你要处理的目标(比如你提到的storage-sync-v2.sqlite)。
  • 点击选中这个数据库后,切换到右侧的「Query」标签页,输入命令:PRAGMA wal_checkpoint(TRUNCATE);
  • 点击「Run」按钮执行命令,这时候对应的WAL文件里的内容会被写入主数据库,WAL文件也会被截断缩小。
  • 重复上面的步骤,处理所有有过大WAL文件的数据库就好。

另外针对你补充的storage-sync-v2.sqlite-wal的问题:这个操作完全适用,执行后应该能把这个一直涨到32MB的WAL文件处理掉,让它的大小回到正常状态,而且不会影响同步功能。

⚠️ 小提醒:操作前最好备份一下你的Firefox配置文件(Profile文件夹),虽然这个操作很安全,但多一层保障总没错。

备注:内容来源于stack exchange,提问作者Amazon Dies In Darkness

火山引擎 最新活动