Postgres can query external databases through Foreign Data Wrappers (FDWs). But FDWs have long shared one limitation: they tend to fetch all results, or fixed-size batches, using a synchronous approach.
With Supabase Wrappers, we’ve been exploring how to bring Postgres FDWs into the modern era with Rust. The latest release introduces something new to the Postgres world: asynchronous streaming between databases.
Most FDWs, including postgres_fdw, mysql_fdw and many others, operate in a synchronous, pull-based model:
Execute a query on the remote source.
Fetch rows either all at once or in fixed-size batches (e.g., using cursors).






