postgres_fdw, oracle_fdw, mysql_fdw, mongo_fdw, and other Postgres foreign data wrappers — query remote systems as native tables. Ranked by GitHub stars.
Foreign data wrappers developed by Supabase
Foreign data wrapper that lets you implement custom FDWs in Python to fetch external data as Postgres tables.
Foreign data wrapper that lets you implement custom FDWs in Python to fetch external data as Postgres tables.
Foreign data wrapper for querying a MySQL server
Foreign data wrapper for querying a MySQL server
foreign data wrapper for Oracle access
Foreign data wrapper for querying a Redis server
Foreign data wrapper for querying a Redis server
Foreign data wrapper for querying a TDS database (Sybase or Microsoft SQL Server)
Foreign data wrapper for querying a TDS database (Sybase or Microsoft SQL Server)
Read-only foreign data wrapper for querying Apache Parquet files as PostgreSQL tables.
Read-only foreign data wrapper for querying Apache Parquet files as PostgreSQL tables.
foreign data wrapper for MongoDB access
SQLite Foreign Data Wrapper
Queries ClickHouse from PostgreSQL via a foreign data wrapper, with aggregate and join pushdown for analytics workloads.
Queries ClickHouse from PostgreSQL via a foreign data wrapper, with aggregate and join pushdown for analytics workloads.
aws_s3 postgres extension to import/export data from/to s3
aws_s3 postgres extension to import/export data from/to s3
Implements foreign data wrappers in Ruby via an embedded mruby VM, with built-in support for Redis and other backends.
Implements foreign data wrappers in Ruby via an embedded mruby VM, with built-in support for Redis and other backends.
foreign-data wrapper for remote hdfs servers
Foreign data wrapper that exposes RocksDB and other LSM-tree key-value stores as PostgreSQL tables.
Foreign data wrapper that exposes RocksDB and other LSM-tree key-value stores as PostgreSQL tables.
Foreign data wrapper that exposes remote web services (JSON, XML) as PostgreSQL tables.
Foreign data wrapper that exposes remote web services (JSON, XML) as PostgreSQL tables.
Fetch foreign data in Python in your PostgreSQL server.
Fetch foreign data in Python in your PostgreSQL server.
kafka Foreign Data Wrapper for CSV formatted messages
kafka Foreign Data Wrapper for CSV formatted messages
Queries local or remote line-delimited JSON files as PostgreSQL foreign tables with read and write support.
Queries local or remote line-delimited JSON files as PostgreSQL foreign tables with read and write support.
Provides a writable foreign data wrapper for Redis, supporting SELECT, INSERT, UPDATE, DELETE on strings, sets, hashes, lists, zsets, and pubsub.
Provides a writable foreign data wrapper for Redis, supporting SELECT, INSERT, UPDATE, DELETE on strings, sets, hashes, lists, zsets, and pubsub.
foreign-data wrapper for remote servers available over JDBC
foreign-data wrapper for remote servers available over JDBC
Foreign data wrapper that fetches tweets from the Twitter API and exposes them as a queryable table.
Foreign data wrapper that fetches tweets from the Twitter API and exposes them as a queryable table.
Provides a foreign data wrapper for reading Amazon S3 files using PostgreSQL's built-in COPY format.
Provides a foreign data wrapper for reading Amazon S3 files using PostgreSQL's built-in COPY format.
Queries InfluxDB 1.8 and 2.7 time-series data as PostgreSQL foreign tables with pushdown of GROUP BY time intervals.
Queries InfluxDB 1.8 and 2.7 time-series data as PostgreSQL foreign tables with pushdown of GROUP BY time intervals.
Foreign data wrapper that queries data directly from PostgreSQL custom-format dump files for selective restore and analytics.
Foreign data wrapper that queries data directly from PostgreSQL custom-format dump files for selective restore and analytics.
PostgreSQL Git Foreign Data Wrapper
Foreign data wrapper for Firebird
Foreign data wrapper that exposes MonetDB columnar database tables as PostgreSQL foreign tables.
Foreign data wrapper that exposes MonetDB columnar database tables as PostgreSQL foreign tables.
Provides a Rust foreign data wrapper for querying Google Cloud Bigtable and HBase-compatible databases as PostgreSQL tables.
Provides a Rust foreign data wrapper for querying Google Cloud Bigtable and HBase-compatible databases as PostgreSQL tables.
Foreign data wrapper that exposes Kyoto Tycoon key/value stores as PostgreSQL tables, supporting reads, writes, and transactions.
Foreign data wrapper that exposes Kyoto Tycoon key/value stores as PostgreSQL tables, supporting reads, writes, and transactions.
Extension for querying PgBouncer stats from normal SQL views & running pgbouncer commands from normal SQL functions
Extension for querying PgBouncer stats from normal SQL views & running pgbouncer commands from normal SQL functions
Go project template for Foreign Data Wrappers for PostgreSQL
Go project template for Foreign Data Wrappers for PostgreSQL
Foreign data wrapper that exposes LDAP directory servers as queryable PostgreSQL tables.
Foreign data wrapper that exposes LDAP directory servers as queryable PostgreSQL tables.
Foreign data wrapper that exposes Neo4j Cypher query results as PostgreSQL tables.
Foreign data wrapper that exposes Neo4j Cypher query results as PostgreSQL tables.
Provides an experimental foreign data wrapper for querying SQLite databases as PostgreSQL tables.
Provides an experimental foreign data wrapper for querying SQLite databases as PostgreSQL tables.
Foreign data wrapper for querying CouchDB document databases as PostgreSQL foreign tables.
Foreign data wrapper for querying CouchDB document databases as PostgreSQL foreign tables.
Foreign data wrapper that exposes delimited file rows as a single text[] column for variable field counts.
Foreign data wrapper that exposes delimited file rows as a single text[] column for variable field counts.
Send redis pub/sub messages to Redis from PostgreSQL Directly
Send redis pub/sub messages to Redis from PostgreSQL Directly
Foreign data wrapper that reads OpenStreetMap PBF files as queryable PostgreSQL tables.
Foreign data wrapper that reads OpenStreetMap PBF files as queryable PostgreSQL tables.
foreign data wrapper for DB2 access
Queries IBM Informix databases as PostgreSQL foreign tables via the ESQL/C Client SDK, with read and write support.
Queries IBM Informix databases as PostgreSQL foreign tables via the ESQL/C Client SDK, with read and write support.
Foreign data wrapper that queries remote databases through ODBC driver managers and DSN connections.
Foreign data wrapper that queries remote databases through ODBC driver managers and DSN connections.
foreign-data wrapper for remote PGSpider servers
foreign-data wrapper for remote PGSpider servers
Provides a foreign data wrapper for accessing RocksDB key-value storage as PostgreSQL tables.
Provides a foreign data wrapper for accessing RocksDB key-value storage as PostgreSQL tables.
Queries remote JDBC-compatible data sources from PostgreSQL with predicate push-down via a deparser.
Queries remote JDBC-compatible data sources from PostgreSQL with predicate push-down via a deparser.
foreign-data wrapper for Postgres log file access
foreign-data wrapper for Postgres log file access
A foreign data wrapper (FDW) is a Postgres extension that exposes a remote system — another database, an HTTP API, an object store, a file — as a set of foreign tables. You declare a foreign server, map credentials with a user mapping, define a foreign table schema, and then SELECT (and sometimes INSERT/UPDATE) from that table. Postgres translates the query, routes it to the remote system, and returns the rows back into your transaction. The FDW interface itself is part of core Postgres (SQL/MED standard), but each target system needs its own wrapper implementation — postgres_fdw for cross-Postgres queries, mysql_fdw, oracle_fdw, mongo_fdw, file_fdw, and dozens more.
Use an FDW when you need cross-system reads without copying data — joining Postgres tables with MySQL inventory, querying S3 Parquet files from a stored procedure, federated reads across regional databases, or one-time migrations with `INSERT INTO local SELECT FROM foreign`. FDWs are NOT a replacement for replication when you need consistent local reads or sub-millisecond latency: every query hits the remote system, and predicate pushdown quality varies wildly between wrappers. For analytical workloads at scale, look at pg_lakehouse or ParadeDB's lakehouse engine instead. For real-time replication, use logical replication or Debezium. For one-off ETL, FDWs shine.
1bench is a modern GUI client for PostgreSQL — install extensions, write queries, and inspect schemas without leaving the IDE.
Try 1bench for PostgreSQL