Skip to main content

Upgrading to DuckDB 0.10.2+

note

MotherDuck currently supports DuckDB clients version 0.10.2 through 1.1.2.:::

DuckDB 0.10.2+

MotherDuck supports DuckDB versions 0.10.2 through 1.1.2. You are encouraged to upgrade:

  • All new accounts created after June 3, 2024 are defaulted to 1.1.2 or later and cannot use DuckDB clients with versions earlier than 0.10.2 with MotherDuck.
  • If you are on DuckDB version 0.9.2, you can now permanently migrate your MotherDuck account to DuckDB version 0.10.2 or later.
  • If you are on DuckDB version 0.9.2, you may also preview DuckDB version 0.10.2+ and temporarily go back to version 0.9.2 until your upcoming permanent migration.

Starting with DuckDB version 0.10.2, we've relaxed the restriction of having to use a single version of DuckDB with MotherDuck. You can now use MotherDuck with a variety of versions of DuckDB.

Permanently Migrate to DuckDB Version 0.10.2+ in MotherDuck

You are encouraged to permanently migrate to DuckDB version 0.10.2+. This is a fast operation that cannot be reversed. This choice is made per-user, not per-organization. All your databases and shares will be migrated to be compatible with 0.10.2+ and will no longer be usable from DuckDB version 0.9.2 or earlier.

If you migrate to DuckDB version 0.10.2+, only clients running DuckDB version 0.10.2 or later will be able to connect to MotherDuck. This includes the DuckDB CLI, Python, and any 3rd party software you may use in concert with MotherDuck, such as BI or ETL tools.

To permanently migrate your MotherDuck account to version 0.10.2+:

  • Open the MotherDuck Web UI and navigate to Settings.
  • Under “General” find section titled “DuckDB Compatibility Mode”
  • Press “Permanently migrate to 0.10.2+”
note

If you're already in 0.10.2+ Preview Mode, please revert back to 0.9.2 in the MotherDuck UI first before permanently migrating to 0.10.3

Migrate to 0.10.3

  • All clients (e.g. Python, CLI, etc) you use to connect to MotherDuck must be on version between 0.10.2 and 1.1.2.

Previewing DuckDB Version 0.10.2+ in MotherDuck

Today you can choose to preview DuckDB version 0.10.2+ in MotherDuck. This is a reversible decision, as you can go back to DuckDB 0.9.2 temporarily. This choice is made per-user, not per-organization.

To preview version 0.10.2+ in MotherDuck:

  • Open the MotherDuck Web UI and navigate to Settings.
  • Under “General” find section titled “DuckDB Compatibility Mode”
  • Press “Try the 0.10.2+ preview” Preview 0.10.2
  • All clients (e.g. Python, CLI, etc) you use to connect to MotherDuck must be on a version between 0.10.2 and 1.1.2.

When in 0.10.2+ preview mode, you are subject to the following limitations:

  • Existing databases (databases created in 0.9.2) will only be available in read-only mode.
  • New writeable databases can be created in the 0.10.2+ preview. If you go back to 0.9.2, these databases will be visible, but they won’t be accessible in 0.9.2 mode.

Change to datatype inference in DuckDB 0.10+

From the DuckDB 0.10 release announcement:

Previously, DuckDB would automatically allow any type to be implicitly cast to VARCHAR during function binding. As a result it was possible to e.g., compute the substring of an integer without using an implicit cast. Starting with this release, you will need to use an explicit cast here instead.

See examples in the DuckDB 0.10 release announcement here.

To revert to the old style of auto-casting, run the following DuckDB pragma command in MotherDuck:

SET old_implicit_casting = true;

Version Independence

Starting with DuckDB Version 0.10.2, MotherDuck supports using multiple versions of DuckDB at a time. For example, you could use DuckDB 1.1.2 in the CLI and DuckDB 0.10.2 in Python.

The minimum version supported for Version Independence is 0.10.2, so you’ll need to upgrade your clients to at least this version one last time.