Skip to content
wrappers

wrappers

wrappers : Foreign data wrappers developed by Supabase

Overview

IDExtensionPackageVersionCategoryLicenseLanguage
8500
wrappers
wrappers
0.6.2
FDW
Apache-2.0
Rust
AttributeHas BinaryHas LibraryNeed LoadHas DDLRelocatableTrusted
--s-d-r
No
Yes
No
Yes
yes
no
Relationships
See Also
multicorn
odbc_fdw
jdbc_fdw
pgspider_ext

Packages

TypeRepoVersionPG Major CompatibilityPackage PatternDependencies
EXT
PIGSTY
0.6.2
18
17
16
15
14
wrappers-
RPM
PIGSTY
0.6.2
18
17
16
15
14
wrappers_$v-
DEB
PIGSTY
0.6.2
18
17
16
15
14
postgresql-$v-wrappers-
Linux / PGPG18PG17PG16PG15PG14
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
PackageVersionOSORGSIZEFile URL
wrappers_180.6.1el8.x86_64pigsty460.9 KiBwrappers_18-0.6.1-1PIGSTY.el8.x86_64.rpm
wrappers_180.6.1el8.aarch64pigsty440.1 KiBwrappers_18-0.6.1-1PIGSTY.el8.aarch64.rpm
wrappers_180.6.1el9.x86_64pigsty468.0 KiBwrappers_18-0.6.1-1PIGSTY.el9.x86_64.rpm
wrappers_180.6.1el9.aarch64pigsty465.5 KiBwrappers_18-0.6.1-1PIGSTY.el9.aarch64.rpm
wrappers_180.6.1el10.x86_64pigsty467.4 KiBwrappers_18-0.6.1-1PIGSTY.el10.x86_64.rpm
wrappers_180.6.1el10.aarch64pigsty465.7 KiBwrappers_18-0.6.1-1PIGSTY.el10.aarch64.rpm
postgresql-18-wrappers0.6.1d12.x86_64pigsty372.2 KiBpostgresql-18-wrappers_0.6.1-1PIGSTY~bookworm_amd64.deb
postgresql-18-wrappers0.6.1d12.aarch64pigsty331.6 KiBpostgresql-18-wrappers_0.6.1-1PIGSTY~bookworm_arm64.deb
postgresql-18-wrappers0.6.1d13.x86_64pigsty372.5 KiBpostgresql-18-wrappers_0.6.1-1PIGSTY~trixie_amd64.deb
postgresql-18-wrappers0.6.1d13.aarch64pigsty332.4 KiBpostgresql-18-wrappers_0.6.1-1PIGSTY~trixie_arm64.deb
postgresql-18-wrappers0.6.1u22.x86_64pigsty406.5 KiBpostgresql-18-wrappers_0.6.1-1PIGSTY~jammy_amd64.deb
postgresql-18-wrappers0.6.1u22.aarch64pigsty388.4 KiBpostgresql-18-wrappers_0.6.1-1PIGSTY~jammy_arm64.deb
postgresql-18-wrappers0.6.1u24.x86_64pigsty405.9 KiBpostgresql-18-wrappers_0.6.1-1PIGSTY~noble_amd64.deb
postgresql-18-wrappers0.6.1u24.aarch64pigsty383.8 KiBpostgresql-18-wrappers_0.6.1-1PIGSTY~noble_arm64.deb
postgresql-18-wrappers0.6.1u26.x86_64pigsty400.2 KiBpostgresql-18-wrappers_0.6.1-1PIGSTY~resolute_amd64.deb
postgresql-18-wrappers0.6.1u26.aarch64pigsty381.8 KiBpostgresql-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