diff --git a/doc/src/sgml/fdwhandler.sgml b/doc/src/sgml/fdwhandler.sgml index 7b758bdf09b..f719b06664b 100644 --- a/doc/src/sgml/fdwhandler.sgml +++ b/doc/src/sgml/fdwhandler.sgml @@ -587,6 +587,14 @@ ExecForeignInsert(EState *estate, with an error message. + + Note that this function is also called when inserting routed tuples into + a foreign-table partition or executing COPY FROM on + a foreign table, in which case it is called in a different way than it + is in the INSERT case. See the callback functions + described below that allow the FDW to support that. + + TupleTableSlot * @@ -743,6 +751,13 @@ BeginForeignInsert(ModifyTableState *mtstate, NULL, no action is taken for the initialization. + + Note that if the FDW does not support routable foreign-table partitions + and/or executing COPY FROM on foreign tables, this + function or ExecForeignInsert subsequently called + must throw error as needed. + + void diff --git a/doc/src/sgml/release-11.sgml b/doc/src/sgml/release-11.sgml index 14e2726f0c1..5c9f41a17aa 100644 --- a/doc/src/sgml/release-11.sgml +++ b/doc/src/sgml/release-11.sgml @@ -2594,6 +2594,9 @@ Branch: REL9_3_STABLE [84261eb10] 2018-10-19 17:02:26 -0400 This is supported by postgres_fdw foreign tables. + Since the ExecForeignInsert callback function + is called for this in a different way than it used to be, + foreign data wrappers must be modified to cope with this change.