Foreign data wrappers

From PostgreSQL wiki

(Difference between revisions)
Jump to: navigation, search
m (Changed the web page for oracle_fdw.)
Line 69: Line 69:
A wrapper for [ MongoDB]
A wrapper for [ MongoDB]
* [ source code]
* [ source code]
* [  install with PGXN]
* [  install with PGXN]
NOTE: There's a fork of CitusData's mongo_fdw from EnterpriseDB with same name: [ source code]

Latest revision as of 18:17, 26 July 2014


[edit] 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!

[edit] SQL Database Wrappers

[edit] postgres_fdw

[edit] oracle_fdw

[edit] mysql_fdw

This extension implements a Foreign Data Wrapper for MySQL. It is supported on PostgreSQL 9.1 and above.

[edit] odbc_fdw

A wrapper for databases with an ODBC driver, including Oracle, DB2, Microsoft SQL Server, Sybase, Pervasive SQL, IBM Lotus Domino, MySQL, PostgreSQL and desktop database products such as FileMaker and Microsoft Access.

N.B.: Does not compile with PostgreSQL >= 9.2!

A patched, but completely untested version is available here.

[edit] jdbc_fdw

A wrapper for databases with a JDBC driver.

[edit] informix_fdw

[edit] firebird_fdw

An FDW for Firebird; currently work-in-progress.

[edit] sqlite_fdw

An FDW for SQLite3 (read-only)

[edit] tds_fdw

An FDW for Sybase and Microsoft SQL server

[edit] NoSQL Database Wrappers

[edit] couchdb_fdw

A wrapper for CouchDB

[edit] MonetDB FDW

A wrapper for MonetDB

[edit] mongo_fdw

A wrapper for MongoDB

NOTE: There's a fork of CitusData's mongo_fdw from EnterpriseDB with same name: source code

[edit] redis_fdw

A wrapper for Redis

[edit] Neo4j fdw

A wrapper for Neo4j Neo4j

[edit] Tycoon FDW

A wrapper for Kyoto Tycoon

[edit] File Wrappers

[edit] file_fdw

A CSV files wrapper. Delivered as an official extension of PostgreSQL 9.1

[edit] file_text_array_fdw

Another CSV wrapper

[edit] file_fixed_length_record_fdw

Fixed-width flat file wrapper

[edit] json_fdw

A wrapper for JSON files.

[edit] Others

[edit] twitter_fdw

A wrapper fetching text messages from Twitter over the Internet and returning a table

[edit] ldap_fdw

Allows PostgreSQL to query an LDAP server and retrieve data from some pre-configured Organizational Unit

[edit] PGStrom

uses GPU devices to accelarate sequential scan on massive amount of records with complex qualifiers.

[edit] Hadoop FDW

Allows read and write access to HBase as well as to HDFS via Hive.

[edit] s3_fdw

Reads files located in Amazon S3

[edit] www_fdw

Allows to query different web services:

[edit] cstore_fdw

A Columnar Store for PostgreSQL.

[edit] Multicorn Foreign Data Wrappers

Multicorn is an extension that allows FDWs to be written in Python

[edit] SQL Database Wrappers

[edit] multicorn.sqlalchemyfdw

This fdw can be used to access data stored in any database supported by the sqlalchemy python toolkit.

[edit] File Wrappers

[edit] muticorn.fsfdw

This fdw can be used to 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.

[edit] multicorn.csvfdw

This fdw can be used to access data stored in CSV files. Each column defined in the table will be mapped, in order, against columns in the CSV file.

[edit] Others

[edit] multicorn.rssfdw

This fdw can be used to access items from an rss feed.

[edit] multicorn.hivefdw

Used to access Apache Hive tables.

[edit] Writing Foreign Database Wrappers

Personal tools