Re: Short-circuiting FK check for a newly-added field - Mailing list pgsql-general

From Reece Hart
Subject Re: Short-circuiting FK check for a newly-added field
Date
Msg-id 4835B0BC.2030404@harts.net
Whole thread Raw
In response to Re: Short-circuiting FK check for a newly-added field  (David Fetter <david@fetter.org>)
Responses Re: Short-circuiting FK check for a newly-added field  (Alvaro Herrera <alvherre@commandprompt.com>)
List pgsql-general
On Tue, May 20, 2008 at 02:25:15PM -0400, Decibel! wrote:
> I need to add a field to a fairly large table. In the same alter statement
> I'd like to add a FK constraint on that new field. Is there any way to
> avoid the check of the table that the database is doing right now? The
> check is pointless because the newly added field is nothing but NULLs.
>
I don't see the problem. FK constraints don't fire on NULL values. I
think you might be imagining that a problem exists when it doesn't.

If the FK column is created as NOT NULL, there is a problem. The best
way to handle this case is to add the column (allowing nulls), populate
the columns, then alter the column to make it NOT NULL. You can wrap
that all in a transaction if you like.

> This is version 8.1.mumble.
>
You can get the version using select version().


-Reece

pgsql-general by date:

Previous
From: "Hiroaki Nakamura"
Date:
Subject: Is this correct usage of generate_series?
Next
From: Bill Moran
Date:
Subject: Re: deadlock debug methodology question