> I would prefer not to, but I don't have a strong opinion about it. > Which name PostgreSQL chooses for the generated NOT NULL constraint > is not important, as long as it doesn't conflict with the existing name.
I also agree that it solves the problem in 18 which I already tested.
On Mon, 2026-02-09 at 07:24 +0100, Hüseyin Demir wrote: > Thanks for the patch and LGTM for PostgreSQL 18.
Thanks for checking!
> I tried to create following table on PG18 > > benchmark=# CREATE TABLE two_not_null_constraints ( > col integer NOT NULL, > CONSTRAINT two_not_null_constraints_col_not_null CHECK (col IS NOT NULL) > ); > ERROR: duplicate key value violates unique constraint "pg_constraint_conrelid_contypid_conname_index" > DETAIL: Key (conrelid, contypid, conname)=(16385, 0, two_not_null_constraints_col_not_null) already exists. > > In PG17 I was able to create the table.
Yes, because what causes your problemm is a new feature in v18.
> One question during the tests should we confirm the output of pg_constraint table ? > It would make sense during the tests but the current test is also good to proceed.