Installation

Note

See individual driver pages in the sidebar for specific installation instructions.

Source

Download the latest source release: apache-arrow-adbc-22.tar.gz (checksum, signature)

When downloading, please check the SHA512 checksum, and verify the OpenPGP-compatible signature against the project’s KEYS file. Both the checksum and signature are provided above. See the instructions page for more details.

Compilation instructions can be found in CONTRIBUTING.md.

C/C++

Install the appropriate driver package. Packages for apt and dnf are provided as part of official releases.

You can use apt on the following platforms:

  • Debian GNU/Linux 12 (“bookworm”)

  • Debian GNU/Linux 13 (“trixie”)

  • Ubuntu 22.04 LTS (“jammy”)

  • Ubuntu 24.04 LTS (“noble”)

Prepare the Apache Arrow APT repository:

sudo apt update
sudo apt install -y -V ca-certificates lsb-release wget
sudo wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
rm ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt update

Install:

  • sudo apt install libadbc-driver-flightsql-dev

  • sudo apt install libadbc-driver-postgresql-dev

  • sudo apt install libadbc-driver-sqlite-dev

  • sudo apt install libadbc-driver-snowflake-dev

You can use dnf on the following platforms:

  • AlmaLinux 8

  • Oracle Linux 8

  • Red Hat Enterprise Linux 8

  • AlmaLinux 9

  • Oracle Linux 9

  • Red Hat Enterprise Linux 9

Prepare the Apache Arrow Yum repository:

sudo dnf install -y epel-release || sudo dnf install -y oracle-epel-release-el$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1) || sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1).noarch.rpm
sudo dnf install -y https://apache.jfrog.io/artifactory/arrow/almalinux/$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)/apache-arrow-release-latest.rpm
sudo dnf config-manager --set-enabled epel || :
sudo dnf config-manager --set-enabled powertools || :
sudo dnf config-manager --set-enabled crb || :
sudo dnf config-manager --set-enabled ol$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)_codeready_builder || :
sudo dnf config-manager --set-enabled codeready-builder-for-rhel-$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)-rhui-rpms || :
sudo subscription-manager repos --enable codeready-builder-for-rhel-$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)-$(arch)-rpms || :

Install:

  • sudo dnf install adbc-driver-flightsql-devel

  • sudo dnf install adbc-driver-postgresql-devel

  • sudo dnf install adbc-driver-sqlite-devel

  • sudo dnf install adbc-driver-snowflake-devel

Then they can be used via CMake, e.g.:

find_package(AdbcDriverPostgreSQL)

# ...

target_link_libraries(myapp PRIVATE AdbcDriverPostgreSQL::adbc_driver_postgresql_shared)

Java

Add a dependency on the driver package, for example:

  • org.apache.arrow.adbc:adbc-driver-flight-sql

  • org.apache.arrow.adbc:adbc-driver-jdbc

Python

Install the appropriate driver package.

Note

To use the DBAPI interface, either pyarrow or polars must be installed.

For example, from PyPI:

  • pip install adbc-driver-flightsql

  • pip install adbc-driver-postgresql

  • pip install adbc-driver-snowflake

  • pip install adbc-driver-sqlite

R

Install the appropriate driver package from CRAN:

install.packages("adbcsqlite")
install.packages("adbcpostgresql")
install.packages("duckdb")

Drivers not yet available on CRAN can be installed from R-multiverse:

install.packages("adbcflightsql", repos = "https://community.r-multiverse.org")
install.packages("adbcsnowflake", repos = "https://community.r-multiverse.org")

Ruby

Install the appropriate driver package for C/C++. You can use it from Ruby.