supabase/wrappers

Postgres Foreign Data Wrapper development framework in Rust.

885

stars

1,014

commits

Rust

primary language

Sep 4, 2026

updated

fdw.dev
database
foreign-data-wrapper
postgres
postgresql
postgresql-extension
rust

README

Wrappers

Wrappers is a development framework for Postgres Foreign Data Wrappers (FDW), written in Rust. Its goal is to make Postgres FDW development easier while keeping Rust language's modern capabilities, such as high performance, strong types, and safety.

Wrappers is also a collection of FDWs built by Supabase. We currently support the following FDWs, with more under development:

FDWDescriptionReadModify
AWS CognitoA FDW for AWS Cognito
AirtableA FDW for Airtable API
Apache IcebergA FDW for Apache Iceberg
Auth0A FDW for Auth0
BigQueryA FDW for Google BigQuery
CalendlyA Wasm FDW for Calendly
Cal.comA Wasm FDW for Cal.com
ClerkA Wasm FDW for Clerk
ClickhouseA FDW for ClickHouse
Cloudflare D1A Wasm FDW for Cloudflare D1
DuckDBA FDW for DuckDB
DynamoDBA FDW for DynamoDB
FirebaseA FDW for Google Firebase
HelloWorldA demo FDW to show how to develop a basic FDW.
HubSpotA Wasm FDW for HubSpot
InfuraA Wasm FDW for Infura blockchain data
LangfuseA Wasm FDW for Langfuse
LogflareA FDW for Logflare
MongoDBA FDW for MongoDB
MySQLA FDW for MySQL
NotionA Wasm FDW for Notion
OpenAPIA Wasm FDW for any OpenAPI 3.0+ REST API
OrbA Wasm FDW for Orb
PaddleA Wasm FDW for Paddle
RedisA FDW for Redis
S3A FDW for AWS S3
S3 VectorsA FDW for AWS S3 Vectors
SQL ServerA FDW for Microsoft SQL Server
SlackA Wasm FDW for Slack
SnowflakeA Wasm FDW for Snowflake
StripeA FDW for Stripe API

Warning

Restoring a logical backup of a database with a materialized view using a foreign table can fail. For this reason, either do not use foreign tables in materialized views or use them in databases with physical backups enabled.

Features

  • Minimum interface and easy to implement.
  • Support for rich data types.
  • Support both sync and async backends, such as RDBMS, RESTful APIs, flat files and etc.
  • Built on top of pgrx, providing higher level interfaces, without hiding lower-level C APIs.
  • WHERE, ORDER BY, LIMIT pushdown are supported.

Documentation

Installation

Wrappers is a pgrx extension, you can follow the pgrx installation steps to install Wrappers.

Basically, run below command to install FDW after pgrx is installed. For example,

cargo pgrx install --pg-config [path_to_pg_config] --features stripe_fdw

Developing a FDW

Visit Wrappers Docs for more details.

License

Apache License Version 2.0

crates.io badge docs.rs badge Test Status MIT/Apache-2 licensed Contributors

Contributors

(top 30 of 62)

burmecia

617 commits

imor

123 commits

olirice

69 commits

dependabot[bot]

45 commits

supabase/wrappers

Postgres Foreign Data Wrapper development framework in Rust.

885

stars

1,014

commits

Rust

primary language

Sep 4, 2026

updated

fdw.dev
database
foreign-data-wrapper
postgres
postgresql
postgresql-extension
rust

README

Wrappers

Wrappers is a development framework for Postgres Foreign Data Wrappers (FDW), written in Rust. Its goal is to make Postgres FDW development easier while keeping Rust language's modern capabilities, such as high performance, strong types, and safety.

Wrappers is also a collection of FDWs built by Supabase. We currently support the following FDWs, with more under development:

FDWDescriptionReadModify
AWS CognitoA FDW for AWS Cognito
AirtableA FDW for Airtable API
Apache IcebergA FDW for Apache Iceberg
Auth0A FDW for Auth0
BigQueryA FDW for Google BigQuery
CalendlyA Wasm FDW for Calendly
Cal.comA Wasm FDW for Cal.com
ClerkA Wasm FDW for Clerk
ClickhouseA FDW for ClickHouse
Cloudflare D1A Wasm FDW for Cloudflare D1
DuckDBA FDW for DuckDB
DynamoDBA FDW for DynamoDB
FirebaseA FDW for Google Firebase
HelloWorldA demo FDW to show how to develop a basic FDW.
HubSpotA Wasm FDW for HubSpot
InfuraA Wasm FDW for Infura blockchain data
LangfuseA Wasm FDW for Langfuse
LogflareA FDW for Logflare
MongoDBA FDW for MongoDB
MySQLA FDW for MySQL
NotionA Wasm FDW for Notion
OpenAPIA Wasm FDW for any OpenAPI 3.0+ REST API
OrbA Wasm FDW for Orb
PaddleA Wasm FDW for Paddle
RedisA FDW for Redis
S3A FDW for AWS S3
S3 VectorsA FDW for AWS S3 Vectors
SQL ServerA FDW for Microsoft SQL Server
SlackA Wasm FDW for Slack
SnowflakeA Wasm FDW for Snowflake
StripeA FDW for Stripe API

Warning

Restoring a logical backup of a database with a materialized view using a foreign table can fail. For this reason, either do not use foreign tables in materialized views or use them in databases with physical backups enabled.

Features

  • Minimum interface and easy to implement.
  • Support for rich data types.
  • Support both sync and async backends, such as RDBMS, RESTful APIs, flat files and etc.
  • Built on top of pgrx, providing higher level interfaces, without hiding lower-level C APIs.
  • WHERE, ORDER BY, LIMIT pushdown are supported.

Documentation

Installation

Wrappers is a pgrx extension, you can follow the pgrx installation steps to install Wrappers.

Basically, run below command to install FDW after pgrx is installed. For example,

cargo pgrx install --pg-config [path_to_pg_config] --features stripe_fdw

Developing a FDW

Visit Wrappers Docs for more details.

License

Apache License Version 2.0

crates.io badge docs.rs badge Test Status MIT/Apache-2 licensed Contributors

Contributors

(top 30 of 62)

burmecia

617 commits

imor

123 commits

olirice

69 commits

dependabot[bot]

45 commits

Languages

Rust

91.4%

PLpgSQL

3.2%

Shell

2.7%

Python

2.7%