public inbox for [email protected]
help / color / mirror / Atom feedFrom: Alpha Shuro <[email protected]>
To: [email protected]
Cc: Alpha Shuro <[email protected]>
Subject: [DOCS] document ShareLock behaviour when using a deferred unique index
Date: Wed, 15 Oct 2025 21:07:27 +0200
Message-ID: <[email protected]> (raw)
The logs that were printed by Postgres
when enforcing deferred unique indexes were misleading.
This change should make it easier to understand or investigate
when users see the `waits for ShareLock` log entry
---
doc/src/sgml/mvcc.sgml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/doc/src/sgml/mvcc.sgml b/doc/src/sgml/mvcc.sgml
index 049ee75a4ba..4e36c59776a 100644
--- a/doc/src/sgml/mvcc.sgml
+++ b/doc/src/sgml/mvcc.sgml
@@ -1003,32 +1003,37 @@ ERROR: could not serialize access due to read/write dependencies among transact
<varlistentry>
<term>
<literal>SHARE</literal> (<literal>ShareLock</literal>)
</term>
<listitem>
<para>
Conflicts with the <literal>ROW EXCLUSIVE</literal>,
<literal>SHARE UPDATE EXCLUSIVE</literal>, <literal>SHARE ROW
EXCLUSIVE</literal>, <literal>EXCLUSIVE</literal>, and
<literal>ACCESS EXCLUSIVE</literal> lock modes.
This mode protects a table against concurrent data changes.
</para>
<para>
Acquired by <command>CREATE INDEX</command>
(without <option>CONCURRENTLY</option>).
+
+ It is also acquired when enforcing a DEFERRED UNIQUE INDEX:
+ If a transaction detects another transaction that might cause
+ a potential conflict, it waits for the other transaction to complete,
+ by acquiring a ShareLock on the other transaction's transaction id.
</para>
</listitem>
</varlistentry>
--
2.51.0
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected]
Subject: Re: [DOCS] document ShareLock behaviour when using a deferred unique index
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox