Skip to main content

ArrowFEBE

v0.3.8Linux · Windows (x64)PostgreSQL-compatible services

A pure-native ADBC driver for PostgreSQL that speaks the Frontend/Backend (FEBE) wire protocol v3 directly over TCP/TLS and delivers Apache Arrow RecordBatches end to end. OpenSSL is the only runtime dependency beyond libc — it does not use libpq.

note

Reading these docs. The badge above is the version this documentation describes. Options and features added recently are flagged inline with a Since vX.Y.Z note; the What's new page is the release-by-release view. See Versioning.

Highlights

  • Native FEBE v3 over TCP/TLS — PostgreSQL 12–17, no libpq.
  • NUMERIC without a string detour — Postgres NUMERIC maps straight to Arrow decimal128 / decimal256, a headline speed and fidelity win.
  • Full auth surface — SCRAM-SHA-256 (with channel binding), MD5, cleartext, GSSAPI/Kerberos, SSPI, plus gssencmode GSS transport encryption.
  • Arrow straight from the wire — results decode into Arrow column buffers with no intermediate row objects.

Connect in seconds

Load the driver by name (arrowfebe) from any ADBC client:

import adbc_driver_manager.dbapi as dbapi
with dbapi.connect(driver="arrowfebe",
db_kwargs={"uri": "postgresql://user:<pw>@host:5432/mydb?sslmode=require"}) as conn:
cur = conn.cursor()
cur.execute("SELECT * FROM public.orders")
table = cur.fetch_arrow_table()

New here? Install ArrowFEBE first, then see the Connection guide.

All ArrowFEBE pages