On Thu, Dec 30, 2021 at 05:53:14PM +0900, Dominique Martinet wrote:

> So for a read-only filesystem, if the db has wal enabled, the files have
> to exist. (it's possible to disable WAL mode by running the sqlite 'PRAGMA
> journal_mode=DELETE;' command when the partition is writable beforehand,
> but I didn't see how to alter the mode while it is readonly)

FWIW, Sqlite has guidance here:

https://www.sqlite.org/wal.html#readonly

   Older versions of SQLite could not read a WAL-mode database that was
   read-only. In other words, write access was required in order to read a
   WAL-mode database. This constraint was relaxed beginning with SQLite
   version 3.22.0 (2018-01-22).

   On newer versions of SQLite, a WAL-mode database on read-only media, or a
   WAL-mode database that lacks write permission, can still be read as long
   as one or more of the following conditions are met:

   1. The -shm and -wal files already exists and are readable

   2. There is write permission on the directory containing the database so
      that the -shm and -wal files can be created.

   3. The database connection is opened using the immutable query parameter. 

   Even though it is possible to open a read-only WAL-mode database, it is
   good practice to converted to PRAGMA journal_mode=DELETE prior to burning
   an SQLite database image onto read-only media.

-- 
Matthew Miller
<mat...@fedoraproject.org>
Fedora Project Leader
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to