All operations on a foreign table are handled through its
foreign data wrapper, which consists of a set of functions that
the core server calls. The foreign data wrapper is responsible
for fetching data from the remote data source and returning it to
the PostgreSQL executor. If
updating foreign tables is to be supported, the wrapper must
handle that, too. This chapter outlines how to write a new
foreign data wrapper.

The foreign data wrappers included in the standard
distribution are good references when trying to write your own.
Look into the contrib subdirectory of
the source tree. The CREATE FOREIGN DATA
WRAPPER reference page also has some useful details.

Note: The SQL standard specifies an interface for
writing foreign data wrappers. However, PostgreSQL does not
implement that API, because the effort to accommodate it into
PostgreSQL would be large, and the standard API hasn't gained
wide adoption anyway.

Submit correction

If you see anything in the documentation that is not correct, does not match
your experience with the particular feature or requires further clarification,
please use
this form
to report a documentation issue.