Я использую базу данных SQLite в режиме WAL
. Моя проблема в том, что *.db-wal
файл растет до огромных размеров, поэтому я пытаюсь ограничить его, установив следующие параметры:
PRAGMA wal_autocheckpoint = 100;
PRAGMA journal_size_limit = 2000000000;
Я попытался сделать это через SQLiteStudio: я установил их, а затем подтвердил используя
PRAGMA wal_autocheckpoint;
PRAGMA journal_size_limit;
и убедитесь, что все установлено правильно. Но если затем я снова подключаюсь к базе данных и запрашиваю их еще раз, я получаю значения по умолчанию: 1000 и -1.
Я подумал, что, возможно, область действия этих PRAGMA - только текущее соединение, поэтому я старался всегда иметь одно связь с этими настройками, но она не работает - я только что нашел файл *.db-wal
размером 32 ГБ.
Какова область действия этих утверждений PRAGMA? Они влияют только на текущее соединение? journal_size_limit
ограничивает журнал только для одного соединения или для всех соединений вместе взятых? Или, может быть, есть другие причины сброса моих настроек?