Disallow concurrent ALTER DOMAIN and DROP DOMAIN - Mailing list pgsql-hackers

From jian he
Subject Disallow concurrent ALTER DOMAIN and DROP DOMAIN
Date
Msg-id CACJufxG_Puz=iq_sjhmJf1LZjMAt96vOagGuUuBoUKGuNknWeA@mail.gmail.com
Whole thread Raw
List pgsql-hackers
hi

similar to thread "Prevent internal error at concurrent CREATE OR
REPLACE FUNCTION"
[1].

We should prevent concurrent modifications to a domain's definition. Currently,
it is possible for one session to drop a domain while another session
simultaneously adds a constraint to it.
It may result in errors such as "tuple concurrently updated."

also dropping a domain should not be allowed if another session is
modifying it, IMHO.

The attached patch is very similar to the "CREATE OR REPLACE FUNCTION"
thread [1],
by acquiring a AccessExclusiveLock on the changed domain oid.
Other sessions must wait for the current transactions to finish
modifying the domain definition
before making changes on it.

[1] https://postgr.es/m/20250331200057.00a62760966a821d484ea904@sraoss.co.jp

Attachment

pgsql-hackers by date:

Previous
From: Erik Nordström
Date:
Subject: Re: Relstats after VACUUM FULL and CLUSTER
Next
From: Bruce Momjian
Date:
Subject: Re: PG 18 release notes draft committed