Re: BUG #19074: pg_dump from v18 loses the NOT NULL flag in the inherited table field when dumping v17-databases

Álvaro Herrera <alvherre@kurilemu.de>

From: Álvaro Herrera <alvherre@kurilemu.de>
To: Dilip Kumar <dilipbalaut@gmail.com>
Cc: David Rowley <dgrowleyml@gmail.com>, andrewbille@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2025-10-18T16:22:16Z
Lists: pgsql-bugs

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix determination of not-null constraint "locality" for inherited columns

  2. Fix pg_dump sorting of foreign key constraints

  3. Sort dump objects independent of OIDs, for the 7 holdout object types.

  4. Add pg_constraint rows for not-null constraints

On 2025-Oct-06, Dilip Kumar wrote:

> I think we can fix it in getTableAttrs(), see attached, with that I
> can see my dump is correct.  This is just a quick way to show what I
> am thinking, maybe we can improve this condition.

Pushed, thanks.  I added a test so that cross-version upgrade will hit
this.  Because this code is not used except when upgrading from 17 or
older, I had to modify 17 even though that version needs no code changes
itself.  (I verified that the pg_upgrade test fails if I have this table
in a pg_dumpall from version 17 -- and the diff is exactly this missing
NOT NULL constraint.)

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/
"Investigación es lo que hago cuando no sé lo que estoy haciendo"
(Wernher von Braun)