]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Avoid name collision with NOT NULL constraints
authorÁlvaro Herrera <alvherre@kurilemu.de>
Sat, 21 Feb 2026 11:22:08 +0000 (12:22 +0100)
committerÁlvaro Herrera <alvherre@kurilemu.de>
Sat, 21 Feb 2026 11:22:08 +0000 (12:22 +0100)
commit0eeffd31bf9bb73446387cd7eebbbf43148aa281
treeaab0d1362e84ff8105b8a565806ec7f3073f15d3
parent36bbcd5be3ffee1aa03f69228022decef6ebd37a
Avoid name collision with NOT NULL constraints

If a CREATE TABLE statement defined a constraint whose name is identical
to the name generated for a NOT NULL constraint, we'd throw an
(unnecessary) unique key violation error on
pg_constraint_conrelid_contypid_conname_index: this can easily be
avoided by choosing a different name for the NOT NULL constraint.

Fix by passing the constraint names already created by
AddRelationNewConstraints() to AddRelationNotNullConstraints(), so that
the latter can avoid name collisions with them.

Bug: #19393
Author: Laurenz Albe <laurenz.albe@cybertec.at>
Reported-by: Hüseyin Demir <huseyin.d3r@gmail.com>
Backpatch-through: 18
Discussion: https://postgr.es/m/19393-6a82427485a744cf@postgresql.org
src/backend/catalog/heap.c
src/backend/commands/tablecmds.c
src/include/catalog/heap.h
src/test/regress/expected/create_table.out
src/test/regress/sql/create_table.sql