File tree Expand file tree Collapse file tree 2 files changed +14
-0
lines changed
src/backend/optimizer/util Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -594,6 +594,15 @@ INSERT INTO <replaceable class="parameter">table_name</replaceable> [ AS <replac
594594 </para>
595595 </tip>
596596
597+ <warning>
598+ <para>
599+ While <command>CREATE INDEX CONCURRENTLY</command> or <command>REINDEX
600+ CONCURRENTLY</command> is running on a unique index, <command>INSERT
601+ ... ON CONFLICT</command> statements on the same table may unexpectedly
602+ fail with a unique violation.
603+ </para>
604+ </warning>
605+
597606 </refsect2>
598607 </refsect1>
599608
Original file line number Diff line number Diff line change @@ -789,6 +789,11 @@ find_relation_notnullatts(PlannerInfo *root, Oid relid)
789789 * the purposes of inference. If no opclass (or collation) is specified, then
790790 * all matching indexes (that may or may not match the default in terms of
791791 * each attribute opclass/collation) are used for inference.
792+ *
793+ * Note: during index CONCURRENTLY operations, different transactions
794+ * may reference different sets of arbiter indexes. This can lead to false
795+ * unique constraint violations that wouldn't occur during normal operations.
796+ * For more information, see insert.sgml.
792797 */
793798List *
794799infer_arbiter_indexes (PlannerInfo * root )
You can’t perform that action at this time.
0 commit comments