Re: Why does Postgres allow duplicate (FK) constraints

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Thomas Kellerer <spam_eater(at)gmx(dot)net>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Why does Postgres allow duplicate (FK) constraints
Date: 2013-03-26 16:16:08
Message-ID: 13611.1364314568@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Thomas Kellerer <spam_eater(at)gmx(dot)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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Alban Hertroys 2013-03-26 16:17:36 Re: Why does Postgres allow duplicate (FK) constraints
Previous Message Thomas Kellerer 2013-03-26 16:07:48 Re: Why does Postgres allow duplicate (FK) constraints