DuckDB Support

Available for: C/C++, GLib/Ruby, Go, Python, R

DuckDB provides ADBC support since version 0.8.0.


DuckDB is not part of the Apache Arrow project and is developed separately.


See the DuckDB documentation.


ADBC support in DuckDB requires the driver manager.

You must have on your LD_LIBRARY_PATH, or in the same directory as the executable when you run this. This requires CGO and loads the DuckDB driver.

import (


func main() {
   var drv drivermgr.Driver
   db, err := drv.NewDatabase(map[string]string{
      "driver": "",
      "entrypoint": "duckdb_adbc_init",
   if err != nil {
      // handle error
   defer db.Close()

   cnxn, err := db.Open(context.Background())
   if err != nil {
      // handle error
   defer cnxn.Close()

You must have DuckDB 0.9.1 or higher.

See the DuckDB Python documentation.

You must have DuckDB 0.9.1 or higher.

# install.packages("duckdb")
db <- adbc_database_init(duckdb::duckdb_adbc(), ...)

Supported Features

ADBC support in DuckDB is still in progress. See duckdb/duckdb#7141 for details.