Installation

Note

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

Source

The latest source release can be downloaded from the Apache mirrors. Compilation instructions can be found in CONTRIBUTING.md.

C/C++

Install the appropriate driver package. You can use conda-forge, apt or dnf.

conda-forge:

  • mamba install libadbc-driver-flightsql

  • mamba install libadbc-driver-postgresql

  • mamba install libadbc-driver-sqlite

You can use apt on the following platforms:

  • Debian GNU/Linux bookworm

  • Ubuntu 22.04

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)

Go

Add a dependency on the driver package, for example:

  • go get -u github.com/apache/arrow-adbc/go/adbc@latest

  • go get -u github.com/apache/arrow-adbc/go/adbc/driver/flightsql@latest

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, pyarrow is also required.

For example, from PyPI:

  • pip install adbc-driver-flightsql

  • pip install adbc-driver-postgresql

  • pip install adbc-driver-snowflake

  • pip install adbc-driver-sqlite

From conda-forge:

  • mamba install adbc-driver-flightsql

  • mamba install adbc-driver-postgresql

  • mamba install adbc-driver-snowflake

  • mamba 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 GitHub:

# install.packages("pak")
pak::pak("apache/arrow-adbc/r/adbcflightsql")
pak::pak("apache/arrow-adbc/r/adbcsnowflake")

Ruby

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