Skip to content
wrappers

wrappers

wrappers : Foreign data wrappers developed by Supabase

Overview

ID Extension Package Version Category License Language
8500
wrappers
wrappers
0.6.1
FDW
Apache-2.0
Rust
Attribute Has Binary Has Library Need Load Has DDL Relocatable Trusted
--s-d-r
No
Yes
No
Yes
yes
no
Relationships
See Also
multicorn
odbc_fdw
jdbc_fdw
pgspider_ext

pgrx patched to 0.18.1.

Packages

Type Repo Version PG Major Compatibility Package Pattern Dependencies
EXT
PIGSTY
0.6.1
18
17
16
15
14
wrappers -
RPM
PIGSTY
0.6.1
18
17
16
15
14
wrappers_$v -
DEB
PIGSTY
0.6.1
18
17
16
15
14
postgresql-$v-wrappers -
Linux / PG PG18 PG17 PG16 PG15 PG14
el8.x86_64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
el8.aarch64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
el9.x86_64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
el9.aarch64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
el10.x86_64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
el10.aarch64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
d12.x86_64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
d12.aarch64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
d13.x86_64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
d13.aarch64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
u22.x86_64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
u22.aarch64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
u24.x86_64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
u24.aarch64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
u26.x86_64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
u26.aarch64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
Package Version OS ORG SIZE File URL
wrappers_18 0.6.1 el8.x86_64 pigsty 460.9 KiB wrappers_18-0.6.1-1PIGSTY.el8.x86_64.rpm
wrappers_18 0.6.1 el8.aarch64 pigsty 440.1 KiB wrappers_18-0.6.1-1PIGSTY.el8.aarch64.rpm
wrappers_18 0.6.1 el9.x86_64 pigsty 468.0 KiB wrappers_18-0.6.1-1PIGSTY.el9.x86_64.rpm
wrappers_18 0.6.1 el9.aarch64 pigsty 465.5 KiB wrappers_18-0.6.1-1PIGSTY.el9.aarch64.rpm
wrappers_18 0.6.1 el10.x86_64 pigsty 467.4 KiB wrappers_18-0.6.1-1PIGSTY.el10.x86_64.rpm
wrappers_18 0.6.1 el10.aarch64 pigsty 465.7 KiB wrappers_18-0.6.1-1PIGSTY.el10.aarch64.rpm
postgresql-18-wrappers 0.6.1 d12.x86_64 pigsty 372.2 KiB postgresql-18-wrappers_0.6.1-1PIGSTY~bookworm_amd64.deb
postgresql-18-wrappers 0.6.1 d12.aarch64 pigsty 331.6 KiB postgresql-18-wrappers_0.6.1-1PIGSTY~bookworm_arm64.deb
postgresql-18-wrappers 0.6.1 d13.x86_64 pigsty 372.5 KiB postgresql-18-wrappers_0.6.1-1PIGSTY~trixie_amd64.deb
postgresql-18-wrappers 0.6.1 d13.aarch64 pigsty 332.4 KiB postgresql-18-wrappers_0.6.1-1PIGSTY~trixie_arm64.deb
postgresql-18-wrappers 0.6.1 u22.x86_64 pigsty 406.5 KiB postgresql-18-wrappers_0.6.1-1PIGSTY~jammy_amd64.deb
postgresql-18-wrappers 0.6.1 u22.aarch64 pigsty 388.4 KiB postgresql-18-wrappers_0.6.1-1PIGSTY~jammy_arm64.deb
postgresql-18-wrappers 0.6.1 u24.x86_64 pigsty 405.9 KiB postgresql-18-wrappers_0.6.1-1PIGSTY~noble_amd64.deb
postgresql-18-wrappers 0.6.1 u24.aarch64 pigsty 383.8 KiB postgresql-18-wrappers_0.6.1-1PIGSTY~noble_arm64.deb
postgresql-18-wrappers 0.6.1 u26.x86_64 pigsty 400.2 KiB postgresql-18-wrappers_0.6.1-1PIGSTY~resolute_amd64.deb
postgresql-18-wrappers 0.6.1 u26.aarch64 pigsty 381.8 KiB postgresql-18-wrappers_0.6.1-1PIGSTY~resolute_arm64.deb

Source

pig build pkg wrappers;		# build rpm/deb

Install

Make sure PGDG and PIGSTY repo available:

pig repo add pgsql -u   # add both repo and update cache

Install this extension with pig:

pig install wrappers;		# install via package name, for the active PG version

pig install wrappers -v 18;   # install for PG 18
pig install wrappers -v 17;   # install for PG 17
pig install wrappers -v 16;   # install for PG 16
pig install wrappers -v 15;   # install for PG 15
pig install wrappers -v 14;   # install for PG 14

Create this extension with:

CREATE EXTENSION wrappers;

Usage

Sources: official README, official docs, v0.6.1 release

wrappers is both a Rust framework for writing PostgreSQL foreign data wrappers and a packaged collection of Supabase-maintained FDWs. A single extension installs many wrapper implementations, then each foreign server chooses the specific wrapper type it needs.

CREATE EXTENSION wrappers;

Typical Workflow

Create a server for one wrapper, then expose remote data through foreign tables:

CREATE SERVER stripe_server
  FOREIGN DATA WRAPPER stripe_wrapper
  OPTIONS (
    api_key_id 'stripe_api_key',
    api_url 'https://api.stripe.com/v1/'
  );

CREATE FOREIGN TABLE stripe_customers (
  id text,
  email text,
  name text,
  description text,
  created timestamp,
  attrs jsonb
)
  SERVER stripe_server
  OPTIONS (
    object 'customers',
    rowid_column 'id'
  );

What It Covers

Upstream ships wrappers for databases and services such as BigQuery, ClickHouse, DuckDB, DynamoDB, MySQL/Doris, Redis, S3, S3 Vectors, Stripe, Snowflake, Slack, Notion, OpenAPI, Infura, and many others. Read and write support varies by wrapper, but pushdown for WHERE, ORDER BY, and LIMIT is a core framework feature.

Version Notes

The v0.6.1 release keeps the same extension model but expands the catalog and wrapper behavior. Official release notes call out:

  • new DynamoDB FDW support
  • MySQL/Doris support through mysql_fdw
  • schema evolution support for iceberg_fdw
  • vault secret lookup by name in _id options
  • aggregate pushdown support for COUNT, SUM, AVG, MIN, and MAX, including MySQL FDW support
  • parameter-state refresh/rescan fixes and dependency/security updates

Caveats

  • Wrapper-specific options, supported objects, and write support differ widely; check the official catalog page for the exact FDW you use.
  • The docs warn that logical restores can fail when materialized views depend on foreign tables, so avoid that pattern or rely on physical backups.
Last updated on