File tree 2 files changed +16
-4
lines changed
2 files changed +16
-4
lines changed Original file line number Diff line number Diff line change @@ -3021,10 +3021,11 @@ ANALYZE measurement;
3021
3021
<firstterm>foreign data wrapper</firstterm>. A foreign data wrapper is a
3022
3022
library that can communicate with an external data source, hiding the
3023
3023
details of connecting to the data source and fetching data from it. There
3024
- are several foreign data wrappers available, which can for example read
3025
- plain data files residing on the server, or connect to another PostgreSQL
3026
- instance. If none of the existing foreign data wrappers suit your needs,
3027
- you can write your own; see <xref linkend="fdwhandler">.
3024
+ is a foreign data wrapper available as a <file>contrib</file> module,
3025
+ which can read plain data files residing on the server. Other kind of
3026
+ foreign data wrappers might be found as third party products. If none of
3027
+ the existing foreign data wrappers suit your needs, you can write your
3028
+ own; see <xref linkend="fdwhandler">.
3028
3029
</para>
3029
3030
3030
3031
<para>
Original file line number Diff line number Diff line change @@ -179,6 +179,17 @@ IterateForeignScan (ForeignScanState *node);
179
179
are not needed, you should insert nulls in those column positions.
180
180
</para>
181
181
182
+ <para>
183
+ Note that <productname>PostgreSQL</productname>'s executor doesn't care
184
+ whether the rows returned violate the <literal>NOT NULL</literal>
185
+ constraints which were defined on the foreign table columns - but the
186
+ planner does care, and may optimize queries incorrectly if
187
+ <literal>NULL</> values are present in a column declared not to contain
188
+ them. If a <literal>NULL</> value is encountered when the user has
189
+ declared that none should be present, it may be appropriate to raise an
190
+ error (just as you would need to do in the case of a data type mismatch).
191
+ </para>
192
+
182
193
<para>
183
194
<programlisting>
184
195
void
You can’t perform that action at this time.
0 commit comments