agora inbox for pgsql-committers@postgresql.org  
help / color / mirror / Atom feed
From: Fujii Masao <fujii@postgresql.org>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Fix ALTER DOMAIN VALIDATE CONSTRAINT locking
Date: Thu, 18 Jun 2026 01:22:46 +0000
Message-ID: <E1wa1Sw-000nIm-29@gemulon.postgresql.org> (raw)

Fix ALTER DOMAIN VALIDATE CONSTRAINT locking

Commit 16a0039dc0d1 reduced the lock level for ALTER DOMAIN ...
VALIDATE CONSTRAINT from ShareLock to ShareUpdateExclusiveLock.
However, that change was unsafe. If DML on tables using the domain had
already started and initialized domain constraint checks before a NOT
VALID constraint was added, it could still insert or update rows that
violated the new constraint.

This commit reverts commit 16a0039dc0d1 so that ALTER DOMAIN ...
VALIDATE CONSTRAINT once again acquires ShareLock on relations using
the domain. Also add an isolation test covering this case.

Author: Chao Li <lic@highgo.com>
Reviewed-by: Fujii Masao <masao.fujii@gmail.com>
Reviewed-by: Álvaro Herrera <alvherre@kurilemu.de>
Discussion: https://postgr.es/m/463C0E1A-4A40-4BCA-839C-9236B80D65EE@gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/64797ad97d6e0a476f809979df99e0013c1933b1

Modified Files
--------------
src/backend/commands/typecmds.c                    | 24 +++++------------
.../isolation/expected/alter-domain-validate.out   | 23 +++++++++++++++++
src/test/isolation/isolation_schedule              |  1 +
.../isolation/specs/alter-domain-validate.spec     | 30 ++++++++++++++++++++++
4 files changed, 61 insertions(+), 17 deletions(-)



Message-ID: <E1wa1Sw-000nIm-29@gemulon.postgresql.org>
Permalink:  ../E1wa1Sw-000nIm-29@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1wa1Sw-000nIm-29@gemulon.postgresql.org

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: pgsql-committers@postgresql.org
  Cc: fujii@postgresql.org, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Fix ALTER DOMAIN VALIDATE CONSTRAINT locking
  In-Reply-To: <E1wa1Sw-000nIm-29@gemulon.postgresql.org>

* 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