aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEtsuro Fujita <efujita@postgresql.org>2019-09-18 18:50:00 +0900
committerEtsuro Fujita <efujita@postgresql.org>2019-09-18 18:50:00 +0900
commitf9f2fda79658cc8f898c6fa7ba6da9a1f394cdee (patch)
treedc4891e1f516a03a69e4e8a6ce734c40a5557097
parent48770492c3b796b251112fa9b74534f087c9f471 (diff)
downloadpostgresql-f9f2fda79658cc8f898c6fa7ba6da9a1f394cdee.tar.gz
postgresql-f9f2fda79658cc8f898c6fa7ba6da9a1f394cdee.zip
Doc: Update FDW documentation about direct foreign table modification.
1. Commit 7086be6e3 should have documented the limitation that the direct modification is disabled when WCO constraints are present, but didn't, which is definitely my fault. Update the documentation (Postgres 9.6 onwards). 2. Commit fc22b6623 should have documented the limitation that the direct modification is disabled when generated columns are defined, but didn't. Update the documentation (Postgres 12 onwards). Author: Etsuro Fujita Discussion: https://postgr.es/m/CAPmGK14AYCPunLb6TRz1CQsW5Le01Z2ox8LSOKH0P-cOVDcQRA%40mail.gmail.com
-rw-r--r--doc/src/sgml/fdwhandler.sgml8
-rw-r--r--doc/src/sgml/postgres-fdw.sgml6
2 files changed, 8 insertions, 6 deletions
diff --git a/doc/src/sgml/fdwhandler.sgml b/doc/src/sgml/fdwhandler.sgml
index b54670b9f2c..6587678af2b 100644
--- a/doc/src/sgml/fdwhandler.sgml
+++ b/doc/src/sgml/fdwhandler.sgml
@@ -820,9 +820,11 @@ IsForeignRelUpdatable(Relation rel);
row-by-row approach is necessary, but it can be inefficient. If it is
possible for the foreign server to determine which rows should be
modified without actually retrieving them, and if there are no local
- triggers which would affect the operation, then it is possible to
- arrange things so that the entire operation is performed on the remote
- server. The interfaces described below make this possible.
+ structures which would affect the operation (row-level local triggers,
+ stored generated columns, or <literal>WITH CHECK OPTION</literal>
+ constraints from parent views), then it is possible to arrange things
+ so that the entire operation is performed on the remote server. The
+ interfaces described below make this possible.
</para>
<para>
diff --git a/doc/src/sgml/postgres-fdw.sgml b/doc/src/sgml/postgres-fdw.sgml
index e9ce39af646..634a7141ef1 100644
--- a/doc/src/sgml/postgres-fdw.sgml
+++ b/doc/src/sgml/postgres-fdw.sgml
@@ -504,9 +504,9 @@
sending the whole query to the remote server if there are no query
<literal>WHERE</literal> clauses that cannot be sent to the remote server,
no local joins for the query, no row-level local <literal>BEFORE</literal> or
- <literal>AFTER</literal> triggers on the target table, and no
- <literal>CHECK OPTION</literal> constraints from parent views.
- In <command>UPDATE</command>,
+ <literal>AFTER</literal> triggers or stored generated columns on the target
+ table, and no <literal>CHECK OPTION</literal> constraints from parent
+ views. In <command>UPDATE</command>,
expressions to assign to target columns must use only built-in data types,
<literal>IMMUTABLE</literal> operators, or <literal>IMMUTABLE</literal> functions,
to reduce the risk of misexecution of the query.