Foreign Data Wrappers (FDW)

In 2003, SQL was expanded to include SQL/MED (SQL Management of External Data). PostgreSQL 9.1 supports this read-only, 9.3 then also write. Since then, a number of Foreign Data Wrappers (FDW) have been developed for PostgreSQL.

The following is just a small selection of the best-known FDWs:

Note

Most of these wrappers are not officially supported by the PostgreSQL Global Development Group (PGDG).

Generic SQL wrappers

ODBC

Native ODBC FDW for PostgreSQL ≥9.5

Multicorn

Multicorn makes it easy to develop FDWs. For example, SQLAlchemy uses Multicorn to save your data in PostgreSQL.

VirtDB

Native access to VirtDB (SAP ERP, Oracle RDBMS)

Specific SQL wrappers

postgres_fdw

With postgres_fdw data from other PostgreSQL servers can be accessed.

Oracle

FDW for Oracle databases

MySQL

FDW for MySQL from PostgreSQL≥9.3

SQLite

FDW for SQLite3

NoSQL database wrappers

Cassandra

FDW für Cassandra

Neo4j

FWD for Neo4j, which also provides a cypher function for PostgreSQL

Redis

FDW for Redis

Riak

FDW for Riak

File wrappers

CSV

Official extension for PostgreSQL 9.1

JSON

FDW for JSON files

XML

FDW for XML files

Geo wrappers

GDAL/OGR

FDW for the GDAL/OGR driver including databases like Oracle and SQLite as well as file formats like MapInfo, CSV, Excel, OpenOffice, OpenStreetMap PBF and XML.

Geocode/GeoJSON

A collection of FDWs for PostGIS

Open Street Map PBF

FDW for Open Street Map PBF

Generic web wrappers

ICAL

FDW for ICAL

IMAP

FDW for the Internet Message Access Protocol (IMAP)

RSS

FDQ for RSS feeds