4 ms·
Can SQLite have multiple processes writing to the same database? Is this safe?
by nullcipher 3y ago
Can SQLite have multiple processes writing to the same database? Is this safe?
- ilyt 3y agoYes, just not at the same time. If you can you want to enable WAL (that requires some shared memory primitives, so same machine generally), because otherwise writes block reads https://www.sqlite.org/wal.html https://www.sqlite.org/wal.html
- nullcipher 3y ago> Yes, just not at the same time. Does this mean that my processes need some synchronization primitive of their own to not to concurrent writes?
- joseferben 3y agoAfaik SQLite in WAL mode takes your writes but still serializes the commits, so no SQLite-specific synchronization primitives needed. You might run into SQLITE_BUSY, in which case you can play with the timeout https://www.sqlite.org/c3ref/busy_timeout.html https://www.sqlite.org/c3ref/busy_timeout.html