Re: not null constraints, again
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: jian he <jian.universality@gmail.com>,
Pg Hackers <pgsql-hackers@lists.postgresql.org>,
Tender Wang <tndrwang@gmail.com>
Date: 2025-04-14T21:39:01Z
Lists: pgsql-hackers
Alvaro Herrera <alvherre@alvh.no-ip.org> writes: > On 2025-Apr-14, Tom Lane wrote: >> I would not have expected that adding pg_constraint rows implies >> stronger locks than what ALTER ADD PRIMARY KEY was using before, >> and I suspect that doing so will cause more problems than just >> breaking parallel restore. > I wasn't aware of this side effect. I'll investigate this in more > depth. I suspect it might be a bug in the way we run through ALTER > TABLE for the primary key. After further thought it occurs to me that it might not be a case of "we get stronger locks", but a case of "we accidentally get a weaker lock earlier and then try to upgrade it", thus creating a possibility of deadlock where before we'd just have blocked till the other statement cleared. Still worthy of being fixed if that's true, though. regards, tom lane
Commits
-
Suppress "may be used uninitialized" warnings from older compilers.
- fc5e966f73f0 18.0 landed
-
Elide not-null constraint checks on child tables during PK creation
- 11ff192b5bb7 18.0 landed
-
Remove unnecessary code to handle CONSTR_NOTNULL
- 5b291d1c9c09 18.0 landed
-
Silence compilers about extractNotNullColumn()
- ff239c3bf4e8 18.0 landed
-
Add pg_constraint rows for not-null constraints
- 14e87ffa5c54 18.0 landed