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.
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.
Yours,
Laurenz Albe