Prevent setting NO INHERIT on partitioned not-null constraints
Andreas Karlsson <andreas@proxel.se>
From: Andreas Karlsson <andreas@proxel.se>
To: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-05-20T19:25:31Z
Lists: pgsql-hackers
Attachments
Hi! Me and Joel found a bug when working on another patch. We noticed that you cannot create not-null constraints with NO INHEIRT set on partitioned tables, but you can actually set it later by using ALTER CONSTRAINT. This must be an oversight so I have attached a patch which adds a check to prevent this. The SQL below should give an error but does not: CREATE TABLE t ( a int, CONSTRAINT a_is_not_null NOT NULL a ) PARTITION BY LIST (a); ALTER TABLE t ALTER CONSTRAINT a_is_not_null NO INHERIT; -- Andreas Karlsson Percona