Re: [HACKERS] pg_upgrade failed with error - ERROR: column "a" in child table must be marked NOT NULL - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: [HACKERS] pg_upgrade failed with error - ERROR: column "a" in child table must be marked NOT NULL
Date
Msg-id 202507031853.jfbuuompu5to@alvherre.pgsql
Whole thread Raw
In response to Re: [HACKERS] pg_upgrade failed with error - ERROR: column "a" in child table must be marked NOT NULL  (Justin Pryzby <pryzby@telsasoft.com>)
Responses Re: [HACKERS] pg_upgrade failed with error - ERROR: column "a" in child table must be marked NOT NULL
List pgsql-hackers
Hello,

We seem to have forgotten about this issue.  I think this is even more
pressing with the changes to 18 for not-null constraints, though
strictly speaking it's always been a problem.  Here's an updated patch.
I simplified the query (no need for a recursive CTE as far as I can
tell) and updated to use the pg_upgrade "task" infrastructure.

I think from 18 on, the problem can no longer be recreated, since
removing the attnotnull bit from a child table is not possible.

I should add some testing too before pushing, of course.  I only tested
manually.

I'd like to hear from RMT about getting this in 18.  Actually I think we
should consider backporting to all live versions ... thoughts?

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/
"Investigación es lo que hago cuando no sé lo que estoy haciendo"
(Wernher von Braun)

Attachment

pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: Re: A assert failure when initdb with track_commit_timestamp=on
Next
From: Tom Lane
Date:
Subject: Re: [PATCH] Fix hostaddr crash during non-blocking cancellation