mirror of
https://github.com/postgres/postgres.git
synced 2026-02-16 00:57:52 -05:00
Doc: cover index CONCURRENTLY causing errors in INSERT ... ON CONFLICT.
Author: Mikhail Nikalayeu <mihailnikalayeu@gmail.com> Reviewed-by: Noah Misch <noah@leadboat.com> Discussion: https://postgr.es/m/CANtu0ojXmqjmEzp-=aJSxjsdE76iAsRgHBoK0QtYHimb_mEfsg@mail.gmail.com Backpatch-through: 13
This commit is contained in:
parent
e7ccb247b3
commit
8b18ed6dfb
2 changed files with 14 additions and 0 deletions
|
|
@ -594,6 +594,15 @@ 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>
|
||||
|
||||
|
|
|
|||
|
|
@ -789,6 +789,11 @@ 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)
|
||||
|
|
|
|||
Loading…
Reference in a new issue