Re: ALTER TABLE ... ADD FOREIGN KEY ... NOT ENFORCED

Simon Riggs <simon@2ndquadrant.com>

From: Simon Riggs <simon@2ndQuadrant.com>
To: Bruce Momjian <bruce@momjian.us>
Cc: Robert Haas <robertmhaas@gmail.com>, Rob Wultsch <wultsch@gmail.com>, Andrew Dunstan <andrew@dunslane.net>, Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@postgresql.org
Date: 2011-01-06T08:19:55Z
Lists: pgsql-hackers
On Wed, 2011-01-05 at 22:05 -0500, Bruce Momjian wrote:
> 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?

The patch I'll be submitting, or getting eaten by crocodiles?

-- 
 Simon Riggs           http://www.2ndQuadrant.com/books/
 PostgreSQL Development, 24x7 Support, Training and Services