首页 > 解决方案 > SQLite 杂注重置为默认值

问题描述

我在WAL模式下使用 SQLite 数据库。我的问题是*.db-wal文件变得非常大,所以我试图通过设置以下设置来限制它:

PRAGMA wal_autocheckpoint = 100;
PRAGMA journal_size_limit = 2000000000;

我尝试通过 SQLiteStudio 进行操作:我设置它们,然后使用验证它们

PRAGMA wal_autocheckpoint;
PRAGMA journal_size_limit;

并看到一切都设置正确。但是,如果我重新连接到数据库并再次请求它们,我会得到默认值:1000 和 -1。

我认为这些 PRAGMA 的范围可能只是当前连接,所以我尝试始终与这些设置建立一个连接,但它不起作用 - 我刚刚找到了*.db-wal32 GB 大小的文件。

这些 PRAGMA 声明的范围是什么?它们是否仅影响当前连接?是否journal_size_limit限制日志仅用于一个连接或所有连接的组合?或者也许还有其他原因导致我的设置被重置?

标签: sqlite

解决方案


推荐阅读