This is a proposal of SQL/MED foreign table for 9.1.
I described the details in the wiki page:
http://wiki.postgresql.org/wiki/SQL/MED
I'd like to discuss especially about the inteface of FDW routines.
Since it will be a shared by all of FDW extenstions in the future,
it must be as important as index access method interface.
Codes are available at: http://repo.or.cz/w/pgsql-fdw.git
* master branch is a copy of postgres' HEAD.
* fdw branch contains FDW codes.
and the attached files are split patches of WIP codes.
Features in it are:
- SQL syntax for CREATE/ALTER FOREIGN TABLE.
- Definition of FDW routine interface and system catalogs for it.
- Core-integrated "file_fdw", that can be used to read external CSV
and plain text files. Codes to read files are shared with COPY FROM.
- Dblink-integrated "postgresql_fdw". Some of simple WHERE-clauses
can be "pushed down" into the external server.
The last item was discussed separately as a cluster feature:
http://wiki.postgresql.org/wiki/ClusterFeatures#Function_scan_push-down
Foreign table will be a solution for the issue.
Comments welcome.
Regards,
---
Takahiro Itagaki
NTT Open Source Software Center