SQL/MED - core functionality

花田 茂 <hanada@metrosystems.co.jp>

From: Shigeru HANADA <hanada@metrosystems.co.jp>
To: pgsql-hackers@postgresql.org
Date: 2010-11-25T07:34:37Z
Lists: pgsql-hackers

Attachments

Hi hackers,

Attached is a patch that adds core functionality of SQL/MED.  This
patch provides:

* new option HANDLER for FOREIGN DATA WRAPPER
  * CREATE/ALTER DDLs are supported
  * psql \dew command shows handler option too
  * pg_dump can dump HANDLER option

* new object type FOREIGN TABLE
  * CREATE/ALTER/DROP DDLs are supported
  * system columns except TABLEOID are not supported
  * inheriting normal table is supported
  * psql \d shows detail of foreign tables
  * psql \det lists foreign tables
  * psql \dE lists foreign tables in \d format
  * pg_dump can dump the definition
  * information_schema views added
  * foreign table is read-only, so INSERT/UPDATE/DELETE are denied
  * ANALYZE and VACUUM skips foreign tables

* new executor node ForeignScan
  * it's a counterpart of SeqScan
  * this node scans one foreign table at a time
  * FDW HANDLER is necessary to execute SELECT statement

Patches for FDWs which can be used to execute SELECT statement will be
posted in their own thread soon.

    "SQL/MED - file_fdw"       : FDW for external PostgreSQL
    "SEL/MED - postgresql_fdw" : FDW for server-side file (CSV, TEXT)

I would reuse existing CommitFest item "SQL/MED" for this patch, and
add new item for each FDW patch.

Regards,
--
Shigeru Hanada