GitHub - Hallidayo/wrappers: Postgres Foreign Data Wrapper development framework in Rust. · GitHub
Skip to content
HallidayoPublic
forked from supabase/wrappers

About

Postgres Foreign Data Wrapper development framework in Rust.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

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:

FDW Description Read Modify
HelloWorld A demo FDW to show how to develop a basic FDW.
BigQuery A FDW for Google BigQuery ✅ ✅
Clickhouse A FDW for ClickHouse ✅ ✅
Stripe A FDW for Stripe API ✅ ✅
Firebase A FDW for Google Firebase ✅ ❌
Airtable A FDW for Airtable API ✅ ❌
S3 A FDW for AWS S3 ✅ ❌
Logflare A FDW for Logflare ✅ ❌
Auth0 A FDW for Auth0 ✅ ❌
SQL Server A FDW for Microsoft SQL Server ✅ ❌
Redis A FDW for Redis ✅ ❌
AWS Cognito A FDW for AWS Cognito ✅ ❌
Notion A Wasm FDW for Notion ✅ ❌
Snowflake A Wasm FDW for Snowflake ✅ ✅
Paddle A Wasm FDW for Paddle ✅ ✅
Calendly A Wasm FDW for Calendly ✅ ❌
Cal.com A Wasm FDW for Cal.com ✅ ❌
Clerk A Wasm FDW for Clerk ✅ ❌
Cloudflare D1 A Wasm FDW for Cloudflare D1 ✅ ✅
Orb A Wasm FDW for Orb ✅ ❌
HubSpot A Wasm FDW for HubSpot ✅ ❌

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

About

Postgres Foreign Data Wrapper development framework in Rust.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages