Re: Adding a default value to a column after it exists

From: Andrew Sullivan <ajs(at)crankycanuck(dot)ca>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Adding a default value to a column after it exists
Date: 2011-04-13 16:31:21
Message-ID: 20110413163120.GU24471@shinkuro.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wed, Apr 13, 2011 at 09:21:20AM -0700, Gauthier, Dave wrote:
> Is there a way to add a default value definition to an existing column? Something like an "alter table... alter column... default 'foo'".

ALTER TABLE table ALTER [ COLUMN ] column SET DEFAULT expression

(see http://www.postgresql.org/docs/9.0/interactive/sql-altertable.html)

Note that this doesn't actually update the fields that are NULL in the
column already. For that, once you had the default in place, you
could do

UPDATE table SET column = DEFAULT WHERE column IS NULL

IIRC.

A

--
Andrew Sullivan
ajs(at)crankycanuck(dot)ca

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2011-04-13 16:50:34 Re: Cursor metadata
Previous Message Tom Lane 2011-04-13 16:29:27 Re: Adding a default value to a column after it exists