← Back to context

Comment by bollockitis

5 years ago

That’s a good catch. I’d there any way to tell which version of SQLite created the file? Aside from trial and error, I mean?

The version is stored in byte 96 of the header of the sqlite file[1].

I haven't looked but there will be some sqlite command to query it and I'm sure some viewer tools will display it as well.

[1] https://www.sqlite.org/fileformat.html

  • You can print the version with this magical incantation:

        $ python -c 'import sys, struct; print(struct.unpack(">I", open(sys.argv[1], "rb").read()[96:100])[0])' foo.db

Recentish versions of file can show you the version:

    $ file example.db
    example.db: SQLite 3.x database, last written using SQLite version 3007017