Re: Why does Postgres allow duplicate (FK) constraints - Mailing list pgsql-general

From Tom Lane
Subject Re: Why does Postgres allow duplicate (FK) constraints
Date
Msg-id 13611.1364314568@sss.pgh.pa.us
Whole thread Raw
In response to Re: Why does Postgres allow duplicate (FK) constraints  (Thomas Kellerer <spam_eater@gmx.net>)
Responses Re: Why does Postgres allow duplicate (FK) constraints
List pgsql-general
Thomas Kellerer <spam_eater@gmx.net> writes:
> Tom Lane, 26.03.2013 17:03:
>> If Oracle does that, they're violating the SQL standard --- there is
>> nothing in the standard that supports rejecting an ALTER TABLE ADD
>> CONSTRAINT on the grounds that it's redundant.  The spec only says
>> you can't give two constraints the same name.

> Is there anything in the standard that actively requires that you can create two "identical" constraints?

The lack of any prohibition to the contrary means there is no way to
argue that the code you showed previously violates the spec; thus,
a database that fails to accept it is rejecting spec-compliant DDL.

> Because technically it simply doesn't make sense, does it?

Well, it's redundant, but that doesn't make it wrong.  In any case,
there are lots of ways that things might be redundant.  Should we
reject a unique constraint on (a,b) if there's already one on (b,a)?
Or if there are separate unique constraints on each of a and b?

            regards, tom lane


pgsql-general by date:

Previous
From: Thomas Kellerer
Date:
Subject: Re: Why does Postgres allow duplicate (FK) constraints
Next
From: Alban Hertroys
Date:
Subject: Re: Why does Postgres allow duplicate (FK) constraints