Multicorn

Synopsis

Multicorn is a PostgreSQL 9.2+ extension allowing to write Foreign Data Wrappers in python. It is bundled with some foreign data wrappers.

More comprehensive documentation can be found at http://multicorn.org

Usage

Create the extension (as a super user, on your target database):

CREATE EXTENSION multicorn;

Define a foreign server for the specific python foreign data wrappers you want to use:

CREATE SERVER my_server_name FOREIGN DATA WRAPPER multicorn
options (
    wrapper 'python.class.Name'
)

Where python.class.Name is a string defining which foreign data wrapper class to use.

Ex, for the Imap foreign data wrapper:

CREATE SERVER multicorn_imap FOREIGN DATA WRAPPER multicorn
    options (
    wrapper 'multicorn.imapfdw.ImapFdw'
);

Once you have a server set up, you can create foreign tables on your server.

The foreign table must be supplied its required options.

Ex:

create foreign table gmail (                                                                 
    "Message-ID" character varying,
    "From" character varying,
    "Subject" character varying,
    "payload" character varying,
    "flags" character varying[],
    "To" character varying) server multicorn_imap options (
        host 'imap.gmail.com',
        port '465', 
        payload_column 'payload', 
        flags_column 'flags',
        ssl 'True',
        login 'mylogin', 
        password 'mypassword'
);

For a documentation on the existing foreign data wrappers, see http://multicorn.org/foreign-data-wrappers/