Can concurrent create index concurrently block each other?

From: Konstantin Knizhnik <knizhnik(at)garret(dot)ru>
To: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Can concurrent create index concurrently block each other?
Date: 2023-10-15 18:33:00
Message-ID: 648d168a-d34b-42bb-bef6-34074d5236e5@garret.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

One our customer complains that he spawned two `create index
concurrently` for two different tables and both stuck in"waiting for old
snapshots".
I wonder if two CIC can really block each other in `WaitForOlderSnapshots`?
I found the similar question in hacker archive:

https://www.postgresql.org/message-id/flat/MWHPR20MB1421AEC7CEC67B159AC188F6A19A0%40MWHPR20MB1421.namprd20.prod.outlook.com
<https://www.postgresql.org/message-id/flat/MWHPR20MB1421AEC7CEC67B159AC188F6A19A0%40MWHPR20MB1421.namprd20.prod.outlook.com>

but it is quite old (2016). Was the problem fixed since that time? And
if not, why there it is not mentioned in CIC documentation that
performing several CIC in parallel can cause "deadlock"?

Thanks in advance,
Konstantin

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Avinash Vallarapu 2023-10-15 19:24:50 Re: Can concurrent create index concurrently block each other?
Previous Message Imseih (AWS), Sami 2023-10-15 17:48:51 Re: Logging parallel worker draught