More foreign table documentation improvements.

Shigeru Hanada, with some additional wordsmithing by me
This commit is contained in:
Robert Haas 2011-06-13 08:28:41 -04:00
parent 13000b44d6
commit 43ea23a346
2 changed files with 16 additions and 4 deletions

View File

@ -3021,10 +3021,11 @@ ANALYZE measurement;
<firstterm>foreign data wrapper</firstterm>. A foreign data wrapper is a
library that can communicate with an external data source, hiding the
details of connecting to the data source and fetching data from it. There
are several foreign data wrappers available, which can for example read
plain data files residing on the server, or connect to another PostgreSQL
instance. If none of the existing foreign data wrappers suit your needs,
you can write your own; see <xref linkend="fdwhandler">.
is a foreign data wrapper available as a <file>contrib</file> module,
which can read plain data files residing on the server. Other kind of
foreign data wrappers might be found as third party products. If none of
the existing foreign data wrappers suit your needs, you can write your
own; see <xref linkend="fdwhandler">.
</para>
<para>

View File

@ -179,6 +179,17 @@ IterateForeignScan (ForeignScanState *node);
are not needed, you should insert nulls in those column positions.
</para>
<para>
Note that <productname>PostgreSQL</productname>'s executor doesn't care
whether the rows returned violate the <literal>NOT NULL</literal>
constraints which were defined on the foreign table columns - but the
planner does care, and may optimize queries incorrectly if
<literal>NULL</> values are present in a column declared not to contain
them. If a <literal>NULL</> value is encountered when the user has
declared that none should be present, it may be appropriate to raise an
error (just as you would need to do in the case of a data type mismatch).
</para>
<para>
<programlisting>
void