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:
FDW | Description | Read | Modify |
---|---|---|---|
AWS Cognito | A FDW for AWS Cognito | ✅ | ❌ |
Airtable | A FDW for Airtable API | ✅ | ❌ |
Apache Iceberg | A FDW for Apache Iceberg | ✅ | ❌ |
Auth0 | A FDW for Auth0 | ✅ | ❌ |
BigQuery | A FDW for Google BigQuery | ✅ | ✅ |
Calendly | A Wasm FDW for Calendly | ✅ | ❌ |
Cal.com | A Wasm FDW for Cal.com | ✅ | ❌ |
Clerk | A Wasm FDW for Clerk | ✅ | ❌ |
Clickhouse | A FDW for ClickHouse | ✅ | ✅ |
Cloudflare D1 | A Wasm FDW for Cloudflare D1 | ✅ | ✅ |
DuckDB | A FDW for DuckDB | ✅ | ❌ |
Firebase | A FDW for Google Firebase | ✅ | ❌ |
HelloWorld | A demo FDW to show how to develop a basic FDW. | ||
HubSpot | A Wasm FDW for HubSpot | ✅ | ❌ |
Logflare | A FDW for Logflare | ✅ | ❌ |
Notion | A Wasm FDW for Notion | ✅ | ❌ |
Orb | A Wasm FDW for Orb | ✅ | ❌ |
Paddle | A Wasm FDW for Paddle | ✅ | ✅ |
Redis | A FDW for Redis | ✅ | ❌ |
S3 | A FDW for AWS S3 | ✅ | ❌ |
SQL Server | A FDW for Microsoft SQL Server | ✅ | ❌ |
Slack | A Wasm FDW for Slack | ✅ | ❌ |
Snowflake | A Wasm FDW for Snowflake | ✅ | ✅ |
Stripe | A FDW for Stripe API | ✅ | ✅ |
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.
- 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.
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
Visit Wrappers Docs for more details.