Skip to content

Wire-protocol ADBC driver

PostgreSQLv0.3.8

Native Frontend/Backend v3, no libpq

Back to all drivers
Database
PostgreSQL
Protocol
FEBE v3
Load name
"arrowfebe"
Version
v0.3.8
Platforms
Linux (x64) · Windows (x64)

Overview

This is a pure-native ADBC driver for PostgreSQL that speaks the Frontend/Backend (FEBE) wire protocol v3 directly over TCP/TLS. It supports PostgreSQL 12 to 17 and PostgreSQL-compatible services, does not use libpq, and relies on OpenSSL as its primary runtime dependency.

What it does differently

No libpq in the picture

The FEBE v3 protocol is implemented in the driver, so there is nothing to install, version-match or ship alongside your application.

NUMERIC without the string detour

PostgreSQL NUMERIC maps directly to Arrow decimal128 / decimal256 — faster than a text round-trip and lossless where text is not.

PostGIS ready

Interval types and PostGIS EWKB geometry are mapped natively, so spatial columns arrive usable rather than opaque.

Straight into Arrow buffers

Results decode into Arrow column buffers with no intermediate row objects on the way.

Authentication

  • SCRAM-SHA-256, with channel binding
  • MD5 and cleartext passwords
  • GSSAPI / Kerberos and Windows SSPI
  • GSS transport encryption via gssencmode

Connect from your language

The driver loads by name across every ADBC client. Pick your language:

query.py
import adbc_driver_manager.dbapi as dbapi

with dbapi.connect(driver="arrowfebe",
                   db_kwargs={"uri": "postgresql://dbuser:<password>@host:5432/appdb?sslmode=require"}) as conn:
    cur = conn.cursor()
    cur.execute("SELECT * FROM public.orders")
    table = cur.fetch_arrow_table()   # ready as Arrow

Install the PostgreSQL driver

install.sh
curl -fsSL https://raw.githubusercontent.com/arpe-io/adbc-drivers/main/install.sh \
  | sh -s -- arrowfebe --license /path/to/your.lic
Full installation guide

Reference documentation

Every option, every type mapping and the full troubleshooting guide live in the docs.