Skip site navigation (1) Skip section navigation (2)

Re: Adding columns NOT NULL

From: Tino Wildenhain <tino(at)wildenhain(dot)de>
To: Laurent ROCHE <laurent_roche(at)yahoo(dot)com>
Cc: pgAdmin III support <pgadmin-support(at)postgresql(dot)org>
Subject: Re: Adding columns NOT NULL
Date: 2008-03-07 14:08:23
Message-ID: 47D14C57.8010404@wildenhain.de (view raw or flat)
Thread:
Lists: pgadmin-support
Hi,

Laurent ROCHE wrote:
> Hi,
> 
> There is a little anomaly in the way adding an extra column is treated 
> in pgAdmin III 1.8.2.
> ... particularly if this is a NOT NULL column.
> 
> When adding the column my_col with a DEFAULT value, the code generated 
> will be:
> ALTER TABLE my_table ADD COLUMN my_col boolean;
> ALTER TABLE my_table ALTER COLUMN my_col SET DEFAULT false;
> 
> This works fine ... as long as I don't insert columns with NOT NULL 
> property.
> In which case, I SUPPOSE it generates:
> ALTER TABLE my_table ADD COLUMN my_col boolean NOT NULL;
> ALTER TABLE my_table ALTER COLUMN my_col SET DEFAULT false;
> 
> This will not work, because the column is created with no default (hence 
> no values) and does not support NULL values, hence creation fails.
> 
> ** In pgAdmin, adding an extra column with NOT NULL property is 
> impossible ! **
> 
> So I would suggest to generate the code:
> ALTER TABLE my_table ADD COLUMN my_col boolean NOT NULL DEFAULT false;
> 
> Which does work !
> And that allows to create a column with not NULL values, in one 
> operation, and more importantly with the column populated.

Yes but it would be too special to just only have "false if boolean".
In this case either the "NOT NULL" option has to go or the
default value should be possible to specify. (otoh, it should
be a rare case anyway that you have a single default value
for all rows)

Regards
Tino

In response to

pgadmin-support by date

Next:From: RuiDCDate: 2008-03-07 20:29:58
Subject: Re: Compiling PgAdmin 1.8.x on Debian LennyAMD64?
Previous:From: Dave PageDate: 2008-03-07 12:12:45
Subject: Re: Complete breakdown of pgadmin when trying to connect to server or modify properties of tables of views

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group