SQLite Forum

Is write permission required for read-only connections on a WAL database?
Login
This is my final post in this thread, I'm sorry. I missed this in https://www.sqlite.org/walformat.html#operations_that_require_locks_and_which_locks_those_operations_use

> If the application invokes sqlite3_file_control(SQLITE_FCNTL_PERSIST_WAL) on the database connection prior to closing, then the final checkpoint is still run but the WAL and WAL-index files are not deleted as they normally would be. This leaves the database in a state that allows other processes without write permission on the database, WAL, or WAL-index files to open the database read-only. If the WAL and WAL-index files are missing, then a process that lacks permission to create and initialize those files will not be able to open the database, unless the database is designated as immutable using the immutable query parameter.

Now that's meat to chew on.