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.