4 ms·
Note that using SQLite over SSHFS is dangerous if you're not the only user of the DB, because SSHFS does not support file locking. According to: https://www.fo
by nh2 6y ago
Note that using SQLite over SSHFS is dangerous if you're not the only user of the DB, because SSHFS does not support file locking.
According to: https://www.fossil-scm.org/forum/forumpost/8749496886 https://www.fossil-scm.org/forum/forumpost/8749496886
> There's a very real possibility that you could corrupt the SQLite DB by running it over SSHFS.
- hannofcart 6y agoI wasn't aware of this. Thanks for the information. Is this true even when you use a read-only sshfs mount?
- loeg 6y agoNo. Read-only cannot mutate the database. I don't know if Sqlite ensures you won't observe inconsistent results if there is a concurrent (single) writer.
- nh2 6y agoThe docs [1] and this [2] suggest that you'll probably observe inconsistent results. WAL mode supports it ("reading and writing can proceed concurrently"), but "does not work over a network filesystem" like SSHFS [3] because it either requires shared memory on the same machine, or exclusive locking [4] (which SSHFS does not provide, and which again does not allow readers concurrent with a writer). Thus overall, you can only rely on your read queries over SSHFS if you know that there is no concurrent writer. [1]: https://www.sqlite.org/lockingv3.html https://www.sqlite.org/lockingv3.html [2]: https://stackoverflow.com/questions/1005206/does-sqlite-lock-the-database-file-on-reads/1005218#1005218 https://stackoverflow.com/questions/1005206/does-sqlite-lock... [3]: https://www.sqlite.org/wal.html https://www.sqlite.org/wal.html [4]: https://www.sqlite.org/wal.html#noshm https://www.sqlite.org/wal.html#noshm
- loeg 6y agoIf you're just using sshfs for RO queries for debugging, it should be harmless.
- tedunangst 6y agoIt will try to replay the journal on open, though, even without running a query if I'm not mistaken. (There's a read only flag for open, just have to be sure you're using it.)