Andrew Dunstan <andrew@dunslane.net> writes:
>> The reason the spec defines these views this way is that it expects
>> constraint names to be unique across a whole schema. We don't enforce
>> that, and I don't think we want to start doing so (that was already
>> proposed and shot down at least once).
> Would a good halfway house be to ensure that generated names were unique
> within a schema (e.g. instead of generating "$1" generate
> "tablename$1")?
No, because that buys into all of the serialization and deadlocking
problems that doing it the spec's way entail --- essentially, you cannot
add a new constraint without obtaining some kind of schema-wide lock.
See prior discussions.
regards, tom lane