aboutsummaryrefslogtreecommitdiff
path: root/doc/src/sgml/ref/create_foreign_table.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/sgml/ref/create_foreign_table.sgml')
-rw-r--r--doc/src/sgml/ref/create_foreign_table.sgml30
1 files changed, 23 insertions, 7 deletions
diff --git a/doc/src/sgml/ref/create_foreign_table.sgml b/doc/src/sgml/ref/create_foreign_table.sgml
index 9674670e042..b374d8645db 100644
--- a/doc/src/sgml/ref/create_foreign_table.sgml
+++ b/doc/src/sgml/ref/create_foreign_table.sgml
@@ -348,11 +348,33 @@ CHECK ( <replaceable class="parameter">expression</replaceable> ) [ NO INHERIT ]
constraints on foreign tables, it does assume that they are correct
for purposes of query optimization. If there are rows visible in the
foreign table that do not satisfy a declared constraint, queries on
- the table might produce incorrect answers. It is the user's
+ the table might produce errors or incorrect answers. It is the user's
responsibility to ensure that the constraint definition matches
reality.
</para>
+ <caution>
+ <para>
+ When a foreign table is used as a partition of a partitioned table,
+ there is an implicit constraint that its contents must satisfy the
+ partitioning rule. Again, it is the user's responsibility to ensure
+ that that is true, which is best done by installing a matching
+ constraint on the remote server.
+ </para>
+ </caution>
+
+ <para>
+ Within a partitioned table containing foreign-table partitions,
+ an <command>UPDATE</command> that changes the partition key value can
+ cause a row to be moved from a local partition to a foreign-table
+ partition, provided the foreign data wrapper supports tuple routing.
+ However it is not currently possible to move a row from a
+ foreign-table partition to another partition.
+ An <command>UPDATE</command> that would require doing that will fail
+ due to the partitioning constraint, assuming that that is properly
+ enforced by the remote server.
+ </para>
+
<para>
Similar considerations apply to generated columns. Stored generated
columns are computed on insert or update on the local
@@ -362,12 +384,6 @@ CHECK ( <replaceable class="parameter">expression</replaceable> ) [ NO INHERIT ]
generated columns that are consistent with the generation expression.
Again, this might result in incorrect query results.
</para>
-
- <para>
- While rows can be moved from local partitions to a foreign-table partition
- (provided the foreign data wrapper supports tuple routing), they cannot be
- moved from a foreign-table partition to another partition.
- </para>
</refsect1>
<refsect1 id="sql-createforeigntable-examples">