When i try to connect to my DuckDB database, I’m told that the version is wrong.
IO Error: Trying to read a database file with version number 64, but we can only read version 51.
The database file was created with an newer version of DuckDB.
The storage of DuckDB is not yet stable; newer versions of DuckDB cannot read old database files and vice versa.
The storage will be stabilized when version 1.0 releases.
For now, we recommend that you load the database file in a supported version of DuckDB, and use the EXPORT DATABASE command followed by IMPORT DATABASE on the current version of DuckDB.
See the storage page for more information: https://duckdb.org/internals/storage
DuckDB.DuckDBHandle(::String, ::DuckDB.Config)@database.jl:17
DuckDB.DB(::String, ::DuckDB.Config)@database.jl:82
DuckDB@database.jl:90[inlined]
connect(::Type{DuckDB.DB}, ::String)@database.jl:105
Main@Local: 1[inlined]
How do I check the version and change the version so that they match?
Will this be an issue with subsiquent versions of DuckDB, before 1.0 is released?
As the note says, they do not consider the storage format to be stable across versions at this time. Thus, you need to recreate the database using the latest version if you want to work with it in the latest version of DuckDB. Based on the message, it seems they do play to provide improved compatibility after version 1.0, but I think that will only apply to databases created with version 1.0+.
The error message is clear, however. The storage format dictates that databases can only be opened with the same version of DuckDB that was used to create it. So whatever version you connect to DBeaver is the same version you need to load in Julia.
You have the latest version. The DuckDB maintainers sort of messed up their versioning in my opinion.
There are two things here: one is the DuckDB.jl package, which is the Julia interface to the duckdb program, and the DuckDB_jll itself. DuckDB itself is at 0.9.1, which is reflected in the _jll that you have installed. DuckDB.jl latest release was numbered 0.9.0 rather than 0.9.1.