The following is a remark about UPSERT in fdwhandler.sgml.

     <command>INSERT</> with an <literal>ON CONFLICT</> clause does not
     support specifying the conflict target, as remote constraints are not
     locally known. This in turn implies that <literal>ON CONFLICT DO
     UPDATE</> is not supported, since the specification is mandatory there.

ISTM that the sentence "as remote constraints are not locally known" is
somewhat confusing, because check constrains on remote tables can be
defined locally in 9.5.  How about "unique constraints or exclusion
constraints on remote tables are not locally known"?  Attached is a
patch for that.

Best regards,
Etsuro Fujita
*** a/doc/src/sgml/fdwhandler.sgml
--- b/doc/src/sgml/fdwhandler.sgml
***************
*** 1196,1204 **** GetForeignServerByName(const char *name, bool missing_ok);
  
      <para>
       <command>INSERT</> with an <literal>ON CONFLICT</> clause does not
!      support specifying the conflict target, as remote constraints are not
!      locally known. This in turn implies that <literal>ON CONFLICT DO
!      UPDATE</> is not supported, since the specification is mandatory there.
      </para>
  
     </sect1>
--- 1196,1205 ----
  
      <para>
       <command>INSERT</> with an <literal>ON CONFLICT</> clause does not
!      support specifying the conflict target, as unique constraints or
!      exclusion constraints on remote tables are not locally known. This
!      in turn implies that <literal>ON CONFLICT DO UPDATE</> is not supported,
!      since the specification is mandatory there.
      </para>
  
     </sect1>
-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to