Show HN: Write Postgres Foreign Data Wrappers in WASM
fdw.dev
fdw.dev
Usually FDWs need to be "pre-installed" on Postgres which makes it harder for Postgres platforms to support a wide variety of FDWs. With WebAssembly, the FDW's can safely be installed from S3 or GitHub.
There are some trade-offs: the performance isn't as good as a "native" FDW. That said, we think the flexibility makes it worthwhile, and we'll improve the performance over time.
Background: what is a FDW? Foreign Data Wrappers are a core feature of Postgres that allow you to access and query data stored in external data sources as if they were native Postgres tables. For example, the Stripe FDW allows you to query all your customers from Stripe inside your postgres database:
select
customer_id,
name
from
stripe.customers;
[0] snowflake: https://fdw.dev/catalog/snowflake/[1] paddle: https://fdw.dev/catalog/paddle/