doc: mention of postpostgres_fdw INSERT ON CONFLICT limitation
authorBruce Momjian <[email protected]>
Mon, 19 Aug 2024 23:54:39 +0000 (19:54 -0400)
committerBruce Momjian <[email protected]>
Mon, 19 Aug 2024 23:54:39 +0000 (19:54 -0400)
Reported-by: Fujii Masao
Discussion: https://postgr.es/m/47801526-d017-4c89-9f52-c02c449a139b@oss.nttdata.com

Author: Fujii Masao

Backpatch-through: master

doc/src/sgml/postgres-fdw.sgml

index 90969f63ca7c98f2ba71312eae9673a6f2507429..468724e94efb1399f99fe6f31906aa5e52ae59f6 100644 (file)
@@ -1096,7 +1096,10 @@ postgres=# SELECT postgres_fdw_disconnect_all();
   <para>
    <filename>postgres_fdw</filename> can be used with remote servers dating back
    to <productname>PostgreSQL</productname> 8.3.  Read-only capability is available
-   back to 8.1.  A limitation however is that <filename>postgres_fdw</filename>
+   back to 8.1.
+  </para>
+  <para>
+   A limitation however is that <filename>postgres_fdw</filename>
    generally assumes that immutable built-in functions and operators are
    safe to send to the remote server for execution, if they appear in a
    <literal>WHERE</literal> clause for a foreign table.  Thus, a built-in
@@ -1108,6 +1111,13 @@ postgres=# SELECT postgres_fdw_disconnect_all();
    optimization fence, and placing the problematic function or operator
    outside the sub-<literal>SELECT</literal>.
   </para>
+  <para>
+   Another limitation is that when executing <command>INSERT</command>
+   statements with an <literal>ON CONFLICT DO NOTHING</literal> clause on
+   a foreign table, the remote server must be running
+   <productname>PostgreSQL</productname> 9.5 or later,
+   as earlier versions do not support this feature.
+  </para>
  </sect2>
 
  <sect2 id="postgres-fdw-wait-events">