twitter_fdw 1.1.0

This Release
twitter_fdw 1.1.0
Latest Stable
twitter_fdw 1.1.1 —
Other Releases
a foreign data wrapper to Twitter Search
This provides an access to Twitter Search API, returning the result as a table
Released By
Special Files


twitter_fdw 1.1.0



This library contains a single PostgreSQL extension, a Foreign Data Wrapper (FDW) handler of PostgreSQL which fetches text messages from Twitter over the Internet and returns as a table.


$ make && make install
$ psql -c "CREATE EXTENSION twitter_fdw" db

The CREATE EXTENSION statement creates not only FDW handlers but also Data Wrapper, Foreign Server, User Mapping and twitter table.


After installation, simply query from twitter table.

db=# SELECT from_user, created_at, text FROM twitter WHERE q = '#postgresql';

The layout of twitter table is as below:

               Foreign table "public.twitter"
      Column       |            Type             | Modifiers 
 id                | bigint                      | 
 text              | text                        | 
 from_user         | text                        | 
 from_user_id      | bigint                      | 
 to_user           | text                        | 
 to_user_id        | bigint                      | 
 iso_language_code | text                        | 
 source            | text                        | 
 profile_image_url | text                        | 
 created_at        | timestamp without time zone | 
 q                 | text                        | 
Server: twitter_service

The column q is a virtual column that is passed to API as a query string if the column is used with = operator as WHERE q = '#sometext'. You can put any text as defined in the API parameter q. Note the query string is percent-encoded by the module. The other columns are mapped to the corresponding property name of each tweet item in the API result. For more detail on these values, see the API document.


This module depends on

The source of libjson is included this module package and linked as a static library, wheares libcurl is assumed installed in the system. You may need additional development package, as libcurl-dev in yum. Consult your system and repository owner for more detail.


Hitoshi Harada

Copyright and License

Copyright (c) Hitoshi Harada

This module is free software; you can redistribute it and/or modify it under the PostgreSQL License.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.

In no event shall Hitoshi Harada be liable to any party for direct, indirect, special, incidental, or consequential damages, including lost profits, arising out of the use of this software and its documentation, even if Hitoshi Harada has been advised of the possibility of such damage.

Hitoshi Harada specifically disclaims any warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The software provided hereunder is on an "as is" basis, and Hitoshi Harada has no obligations to provide maintenance, support, updates, enhancements, or modifications.