Re: ALTER TABLE ... ADD FOREIGN KEY ... NOT ENFORCED - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: ALTER TABLE ... ADD FOREIGN KEY ... NOT ENFORCED
Date
Msg-id 201101060305.p0635np09564@momjian.us
Whole thread Raw
In response to Re: ALTER TABLE ... ADD FOREIGN KEY ... NOT ENFORCED  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: ALTER TABLE ... ADD FOREIGN KEY ... NOT ENFORCED  (Simon Riggs <simon@2ndQuadrant.com>)
List pgsql-hackers
Robert Haas wrote:
> On Mon, Dec 13, 2010 at 12:59 AM, Rob Wultsch <wultsch@gmail.com> wrote:
> > On Sun, Dec 12, 2010 at 7:24 PM, Andrew Dunstan <andrew@dunslane.net> wrote:
> >> In fact it's possible now to disable FK enforcement, by disabling the
> >> triggers. It's definitely a footgun though. Just the other day I was asked
> >> how data violating the constraint could have got into the table, and caused
> >> some surprise by demonstrating how easy this was to produce.
> >
> > Ugh. I have read the entire pg manual and I did not recall that
> > footgun. ?At least in MySQL disabling fk's is explicit. There is
> > something to be said for being able to tell the database: "Hey, hold
> > my beer and watch this, it might be stupid but it is what we are going
> > to do".
> 
> I couldn't agree more, and that's a great way to put it.  The user is
> in charge.  Our job is to prevent the user from *accidentally*
> shooting themselves in the foot.  But if a crocodile is biting their
> foot off and they want to fire their gun in that direction and take
> their chances, it's not our job to say "oh, no, you might injure your
> foot".  DBAs hate getting eaten by crocodiles.

Is this a TODO?

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + It's impossible for everything to be true. +


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Problem with pg_upgrade (8.4 -> 9.0) due to ALTER DATABASE SET ROLE
Next
From: Robert Haas
Date:
Subject: Re: Problem with pg_upgrade (8.4 -> 9.0) due to ALTER DATABASE SET ROLE