Foreign Data Wrappers
In 2003, a new specification called SQL/MED ("SQL Management of External Data") was added to the SQL standard. It is a standardized way of handling access to remote objects from SQL databases. In 2011, PostgreSQL 9.1 was released with read-only support of this standard, and in 2013 write support was added with PostgreSQL 9.3.
There are now a variety of Foreign Data Wrappers (FDW) available which enable PostgreSQL Server to different remote data stores, ranging from other SQL databases through to flat file. This page list some of the wrappers currently available. Another fdw list can be found at the PGXN website.
Please keep in mind that most of these wrappers are not officially supported by the PostgreSQL Global Development Group (PGDG) and that some of these projects are still in Beta version. Use carefully!
Generic SQL Database Wrappers
| Data Source
|
Type
|
Licence
|
Code
|
Install
|
Doc
|
Notes
|
| ODBC
|
Native
|
|
github
|
PGXN
|
example
|
Does not compile with PostgreSQL >= 9.2!
|
| ODBC
|
Native
|
|
github
|
|
|
A patched, but completely untested version
|
| JDBC
|
Native
|
|
github
|
|
|
Not maintained ?
|
| JDBC2
|
Native
|
|
github
|
|
|
|
| SQL_Alchemy
|
Multicorn
|
PostgreSQL
|
GitHub
|
PGXN
|
documentation
|
Can be used to access data stored in any database supported by the sqlalchemy python toolkit.
|
| VirtDB
|
Native
|
GPL
|
GitHub
|
|
short intro
|
A generic FDW to access VirtDB data sources (SAP ERP , Oracle RDBMS)
|
Specific SQL Database Wrappers
NoSQL Database Wrappers
File Wrappers
| Data Source
|
Type
|
Licence
|
Code
|
Install
|
Doc
|
Notes
|
| CSV
|
Native
|
PostgreSQL
|
|
|
documentation
|
Delivered as an official extension of PostgreSQL 9.1 / example / Another example
|
| CSV
|
Multicorn
|
PostgreSQL
|
GitHub
|
PGXN
|
documentation
|
Each column defined in the table will be mapped, in order, against columns in the CSV file.
|
| CSV / Text Array
|
Native
|
|
GitHub
|
|
How to
|
Another CSV wrapper
|
| CSV / Fixed-length
|
Native
|
|
GitHub
|
|
|
|
| CSV / gzipped
|
Multicorn
|
|
GitHub
|
|
|
PostgreSQL Foreign Data Wrapper for gzipped cvs file
|
| Compressed File
|
Native
|
|
GitHub
|
|
|
|
| Document Collection
|
Native
|
PostgreSQL
|
GitHub
|
|
wiki
|
|
| JSON
|
Native
|
GPL3
|
GitHub
|
|
Example
|
|
| Multi-File
|
Multicorn
|
PostgreSQL
|
GitHub
|
PGXN
|
doc
|
Access data stored in various files in a filesystem. The files are looked up based on a pattern, and parts of the file's path are mapped to various columns, as well as the file's content itself.
|
| Multi CDR
|
Native
|
PostgreSQL
|
GitHub
|
PGXN
|
|
|
| pg_dump
|
Native
|
New BSD
|
GitHub
|
|
|
Allows querying of data directly against Postgres custom format files created by pg_dump
|
| TAR Files
|
Native
|
|
GitHub
|
|
|
|
| XML
|
Multicorn
|
PostgreSQL
|
GitHub
|
PGXN
|
|
|
|
| ZIP Files
|
Native
|
|
GitHub
|
|
|
|
Geo Wrappers
| Data Source
|
Type
|
Licence
|
Code
|
Install
|
Doc
|
Notes
|
| GDAL/OGR
|
Native
|
|
GitHub
|
|
|
A wrapper for data sources with a GDAL/OGR driver, including databases like Oracle, Informix, SQLite as well as file formats like Shape, FGDB, MapInfo and more.
|
| Geocode / GeoJSON
|
Multicorn
|
|
GitHub
|
|
|
a collection of PostGIS-related foreign data wrappers
|
| Open Street Map PBF
|
Native
|
|
GitHub
|
|
|
|
LDAP Wrappers
| Data Source
|
Type
|
Licence
|
Code
|
Install
|
Doc
|
Notes
|
| LDAP
|
Native
|
|
GitHub
|
PGXN
|
|
Allows to query an LDAP server and retrieve data from some pre-configured Organizational Unit
|
| LDAP
|
Multicorn
|
PostgreSQL
|
GitHub
|
PGXN
|
documentation
|
|
Generic Web Wrappers
Specific Web Wrappers
Big Data Wrappers
| Data Source
|
Type
|
Licence
|
Code
|
Install
|
Doc
|
Notes
|
| Elastic Search
|
Multicorn
|
|
github
|
|
|
|
| file_fdw-gds (Hadoop)
|
Native
|
|
GitHub
|
|
|
Hadoop file_fdw is a slightly modified version of PostgreSQL 9.3's file_fdw module.
|
| Hadoop
|
Native
|
|
GitHub
|
|
|
Allows read and write access to HBase as well as to HDFS via Hive.
|
| HDFS
|
Native
|
|
GitHub
|
|
|
|
| Hive
|
Multicorn
|
|
GitHub
|
|
|
Used to access Apache Hive tables.
|
| Hive / ORC File
|
Native
|
|
GitHub
|
|
|
|
| Impala
|
Native
|
BSD
|
GitHub
|
|
|
|
Column-Oriented Wrappers
| Data Source
|
Type
|
Licence
|
Code
|
Install
|
Doc
|
Notes
|
| Columnar Store
|
Native
|
|
github
|
example
|
|
A Columnar Store for PostgreSQL.
|
| MonetDB
|
Native
|
|
github
|
|
|
|
Scientific Wrappers
Operating System Wrappers
| Data Source
|
Type
|
Licence
|
Code
|
Install
|
Doc
|
Notes
|
| Docker
|
Multicorn
|
|
GitHub
|
|
|
|
| Log files
|
Multicorn
|
|
GitHub
|
|
|
|
| OpenStack / Telemetry
|
Multicorn
|
|
GitHub
|
|
|
|
| OS Query
|
Multicorn
|
|
GitHub
|
|
|
Like Facebook's OSQuery, but for Postgres
|
| Passwd
|
Native
|
|
GitHub
|
|
|
reads linux/unix password and group files.
|
| Process
|
Multicorn
|
|
GitHub
|
|
|
A foreign datawrapper for querying system stats based on statgrab
|
Exotic Wrappers
| Data Source
|
Type
|
Licence
|
Code
|
Install
|
Doc
|
Notes
|
| fdw_fdw
|
Multicorn
|
|
GitHub
|
|
|
the Meta FDW ! reads this page and returns the list of all the FDW
|
| PGStrom
|
Native
|
|
GitHub
|
|
wiki
|
uses GPU devices to accelarate sequential scan on massive amount of records with complex qualifiers.
|
| PPG
|
Native
|
|
GitHub
|
|
|
distributed parallel query engine, based on fdw and hooks of PG
|
| Open Civic Data
|
Multicorn
|
|
GitHub
|
|
|
|
| Phillips Hue Lighting Systems
|
Multicorn
|
MIT
|
GitHub
|
|
|
|
| Random Number
|
Multicorn
|
|
GitHub
|
|
|
A random number generator foreign data wrapper for postgres
|
| Rotfang
|
Multicorn
|
Native
|
BitBucket
|
PostgreSQL
|
slides
|
Advanced random number generator
|
| Template Tables
|
Native
|
|
GitHub
|
|
|
PostgreSQL data wrapper for template tables - any DML and SELECT operations are disallowed
|
Example Wrappers
| Data Source
|
Type
|
Licence
|
Code
|
Install
|
Doc
|
Notes
|
| Dummy
|
Native
|
BSD
|
GitHub
|
|
|
Readable null FDW for testing
|
| Hello World
|
|
|
GitHub
|
|
|
|
| Black Hole
|
|
|
bitbucket
|
|
|
a skeleton FDW pre-populated with relevant excerpts from the documentation
|
Writing Foreign Database Wrappers