Hello,

My application runs the following right after opening the connection to the 
database. 

      pragma journal_mode=wal;
      pragma page_size=4096

When the application wants to perform a bulk data load (loading around 21Gb of 
data), it runs the following before starting the transaction. 

    pragma journal_mode=delete

This is done because I am under the assumption that WAL journal mode is not 
suited for long running, big transactions (please correct me if I am wrong). 

But the journal mode change seems to be not affecting. Documentation for WAL 
states the following:

"Unlike the other journaling modes, PRAGMA journal_mode=WAL is persistent. If a 
process sets WAL mode, then closes and reopens the database, the database will 
come back in WAL mode. In contrast, if a process sets (for example) PRAGMA 
journal_mode=TRUNCATE and then closes and reopens the database will come back 
up in the default rollback mode of DELETE rather than the previous TRUNCATE 
setting."

Does this mean, in my case the journal mode change won't have any effect? When 
I tested, I still see -wal & -shm files present. Will it use "DELETE" journal 
mode for my huge transaction?

Any help would be great!
?
Navaneeth

Reply via email to