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-devsudo apt install libadbc-driver-postgresql-devsudo apt install libadbc-driver-sqlite-devsudo 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-develsudo dnf install adbc-driver-postgresql-develsudo dnf install adbc-driver-sqlite-develsudo 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-sqlorg.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-flightsqlpip install adbc-driver-postgresqlpip install adbc-driver-snowflakepip 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.