On Tue, Nov 8, 2011 at 10:04 AM, Orit Alul <[email protected]> wrote:
> Hi, > > I've performed a vacuuming operation (I ran the following command: > sqlite3.exe <dbName> VACUUM;). > It caused the WAL file to be the same size as the db file and it never > shrink back. > > For example I had a db file in the size of 1.8GB, wal file in the size of > 1.7MB, shm file in the size of 32KB. > I ran the VACUUM; command on the db file, now the db file got down to > 1.2GB, wal file got up to 1.2GB and the shm file got up to 9.5MB. > > Do you have a clue what is the cause for this strange behavior? Do you > know if there's a command that can shrink the files back? > The WAL file is not truncated (prior to the last database connection closing) because overwriting an existing file is faster than appending to a file. Hence reusing an existing WAL is faster than truncating and appending. But if the file is larger than you like, you can set an upper bound on its size using the journal_size_limit pragma. http://www.sqlite.org/pragma.html#pragma_journal_size_limit With this pragma setting, the WAL will be truncated down to the requested size after each successful checkpoint operation. > > Thanks, > Orit > > > > [Creative Zone by MediaMind]<http://feeds.mediamind.com/CreativeZone> > _______________________________________________ > sqlite-users mailing list > [email protected] > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > -- D. Richard Hipp [email protected] _______________________________________________ sqlite-users mailing list [email protected] http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

