wrappers
Overview
| Package | Version | Category | License | Language |
|---|---|---|---|---|
wrappers | 0.6.0 | FDW | Apache-2.0 | Rust |
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 8500 | wrappers | No | Yes | No | Yes | No | Yes | - |
| Related | multicorn odbc_fdw jdbc_fdw pgspider_ext |
|---|
manually upgraded PGRX from 0.16.1 to 0.17.0 by Vonng
Version
| Type | Repo | Version | PG Ver | Package | Deps |
|---|---|---|---|---|---|
| EXT | PIGSTY | 0.6.0 | 1817161514 | wrappers | - |
| RPM | PIGSTY | 0.6.0 | 1817161514 | wrappers_$v | - |
| DEB | PIGSTY | 0.6.0 | 1817161514 | postgresql-$v-wrappers | - |
Build
You can build the RPM / DEB packages for wrappers using pig build:
pig build pkg wrappers # build RPM / DEB packages
Install
You can install wrappers directly. First, make sure the PGDG and PIGSTY repositories are added and enabled:
pig repo add pgsql -u # Add repo and update cache
Install the extension using pig or apt/yum/dnf:
pig install wrappers; # Install for current active PG version
pig ext install -y wrappers -v 18 # PG 18
pig ext install -y wrappers -v 17 # PG 17
pig ext install -y wrappers -v 16 # PG 16
pig ext install -y wrappers -v 15 # PG 15
pig ext install -y wrappers -v 14 # PG 14
dnf install -y wrappers_18 # PG 18
dnf install -y wrappers_17 # PG 17
dnf install -y wrappers_16 # PG 16
dnf install -y wrappers_15 # PG 15
dnf install -y wrappers_14 # PG 14
apt install -y postgresql-18-wrappers # PG 18
apt install -y postgresql-17-wrappers # PG 17
apt install -y postgresql-16-wrappers # PG 16
apt install -y postgresql-15-wrappers # PG 15
apt install -y postgresql-14-wrappers # PG 14
Create Extension:
CREATE EXTENSION wrappers;
Usage
Sources: official README, official docs, v0.6.0 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, MySQL, Redis, S3, 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.0 release keeps the same extension model but expands the catalog and wrapper behavior. Official release notes call out:
- new OpenAPI FDW support
- new Infura FDW support
- Snowflake
timeout_secstable option - write-path and scan fixes across several wrappers
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.
Feedback
Was this page helpful?
Thanks for the feedback! Please let us know how we can improve.
Sorry to hear that. Please let us know how we can improve.