Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

sqlite3 read-only on a file system that doesn't support locking

Is there an easy way to open an sqlite3 database using the DB-compliant sqlite3 module in a way that is read-only? I want to access a database read-only on a file system that doesn't support locking. I know that the C api supports this, but can't figure out a way to do this with the sqlite3 interface.

like image 660
vy32 Avatar asked Nov 21 '10 18:11

vy32


2 Answers

As of Python 3.4.0 you can open the database in read only mode with the following:

db = sqlite3.connect('file:/path/to/database?mode=ro', uri=True)
like image 124
anthonyryan1 Avatar answered Oct 20 '22 03:10

anthonyryan1


Apparently it is possible using APSW, which is not DB API compliant.

  • https://github.com/rogerbinns/apsw

At least that was the case in 2009.

like image 37
vy32 Avatar answered Oct 20 '22 05:10

vy32