v15-0005-Revert-Doc-cover-index-CONCURRENTLY-causing-erro.patch

text/plain

Filename: v15-0005-Revert-Doc-cover-index-CONCURRENTLY-causing-erro.patch
Type: text/plain
Part: 0
Message: Re: Issues with ON CONFLICT UPDATE and REINDEX CONCURRENTLY

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: format-patch
Series: patch v15-0005
Subject: Revert "Doc: cover index CONCURRENTLY causing errors in INSERT ... ON CONFLICT."
File+
doc/src/sgml/ref/insert.sgml 0 9
src/backend/optimizer/util/plancat.c 0 5
From 13735733ad82bd7e3963140e6856e458d8eb7156 Mon Sep 17 00:00:00 2001
From: Mikhail Nikalayeu <mihailnikalayeu@gmail.com>
Date: Sun, 30 Nov 2025 16:49:20 +0100
Subject: [PATCH v15 2/2] Revert "Doc: cover index CONCURRENTLY causing errors
 in INSERT ... ON CONFLICT."

This reverts commit 8b18ed6dfbb8b3e4483801b513fea6b429140569.
---
 doc/src/sgml/ref/insert.sgml         | 9 ---------
 src/backend/optimizer/util/plancat.c | 5 -----
 2 files changed, 14 deletions(-)

diff --git a/doc/src/sgml/ref/insert.sgml b/doc/src/sgml/ref/insert.sgml
index 0598b8dea34..04962e39e12 100644
--- a/doc/src/sgml/ref/insert.sgml
+++ b/doc/src/sgml/ref/insert.sgml
@@ -594,15 +594,6 @@ INSERT INTO <replaceable class="parameter">table_name</replaceable> [ AS <replac
     </para>
    </tip>
 
-   <warning>
-    <para>
-      While <command>CREATE INDEX CONCURRENTLY</command> or <command>REINDEX
-      CONCURRENTLY</command> is running on a unique index, <command>INSERT
-      ... ON CONFLICT</command> statements on the same table may unexpectedly
-      fail with a unique violation.
-    </para>
-   </warning>
-
   </refsect2>
  </refsect1>
 
diff --git a/src/backend/optimizer/util/plancat.c b/src/backend/optimizer/util/plancat.c
index 7af9a2064e3..d5325f0f732 100644
--- a/src/backend/optimizer/util/plancat.c
+++ b/src/backend/optimizer/util/plancat.c
@@ -789,11 +789,6 @@ find_relation_notnullatts(PlannerInfo *root, Oid relid)
  * the purposes of inference.  If no opclass (or collation) is specified, then
  * all matching indexes (that may or may not match the default in terms of
  * each attribute opclass/collation) are used for inference.
- *
- * Note: during index CONCURRENTLY operations, different transactions may
- * reference different sets of arbiter indexes. This can lead to false unique
- * constraint violations that wouldn't occur during normal operations.  For
- * more information, see insert.sgml.
  */
 List *
 infer_arbiter_indexes(PlannerInfo *root)
-- 
2.43.0