Ожидается ли это?
Да.WAL в основном работает в режиме журнала, в котором хранятся изменения, которые еще предстоит применить к файлу базы данных.
То есть в WAL изменения не записываются в файл базы данных, а записываются в файл -wal.Когда происходит проверка-указание (откат), изменения затем записываются в файл базы данных и эффективно удаляются из файла -wal (но не обязательно освобождают место на диске).
-wal фактически является частьюбазы данных, т.е. данные будут извлечены из файла -wal до того, как будет получен доступ к базовой базе данных (если данные не были в файле -wal).
Если происходит откат, то файл -wal может(в принципе) удаляется / удаляется, и откат завершается.
В режиме JOURNAL изменения записываются в файл базы данных и регистрируются в файле -journal.Откат отменяет изменения.
Есть ли что-то еще, что я должен сделать, чтобы зафиксировать любые изменения и сбросить контрольную точку?
Закрытие базы данных должно стать контрольной точкой,Вы также можете принудительно навести чек, используя PRAGMA schema.wal_checkpoint , в противном случае применяется автоматическая контрольная точка (приблизительно после 1000 страниц).
Будет ли мой WAL-файл продолжать расти или он всегда будет относительнымк размеру файла базы данных?
Нет, он не будет расти, но будет, пока не произойдет контрольная точка.Это не относится к размеру базы данных, но относится к применяемым изменениям (транзакциям).Размер зависит от размера страницы базы данных, так как -wal fil хранит измененные страницы.Таким образом, меньший размер страницы может привести к меньшему размеру -wal, но тогда может быть сохранено больше страниц и больше доступа к диску.