Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I wrote a program that has an SQLite database, modifying it every few seconds.

Now I want to write a small gadget program that would just read a bit of info from that database (read-only) and display it.

Can the second program open the database as "read-only", while the first program might be modifying it?
Is using Read Only=True when opening the database enough?
Or do I have to make a copy of the SQLite file, or something?
I did not find any tip about this on

The second program does not need real-time info, it can be a bit outdated.

share|improve this question
SQLite write locking documentation. – CL. Apr 1 '13 at 14:41
up vote 5 down vote accepted

You are looking for WAL Mode.

WAL provides more concurrency as readers do not block writers and a writer does not block readers. Reading and writing can proceed concurrently.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.