Lists: | pgsql-sql |
---|
From: | Vivek Khera <khera(at)kcilink(dot)com> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | adding column with not null constraint |
Date: | 2002-10-18 20:12:01 |
Message-ID: | x7u1jjmrqm.fsf@onceler.kciLink.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-sql |
I'm looking to add a column to my database with not null and a default
value:
vk=> alter table msg_owner add column user_optional_fields varchar(255) NOT NULL default '';
ERROR: Adding columns with defaults is not implemented.
Add the column, then use ALTER TABLE SET DEFAULT.
vk=> alter table msg_owner add column user_optional_fields varchar(255) NOT NULL ;
ERROR: Adding NOT NULL columns is not implemented.
Add the column, then use ALTER TABLE ADD CONSTRAINT.
Ok, so we can succeed with this:
ALTER TABLE msg_owner ADD COLUMN user_optional_fields VARCHAR(255);
ALTER TABLE msg_owner ALTER user_optional_fields SET DEFAULT '';
UPDATE msg_owner SET user_optional_fields = '';
Now my problem is I cannot find any syntax for ALTER TABLE ADD
CONSTRAINT to put a NOT NULL constraint on a column. Can someone help
me here?
I'm using Postgres 7.2.1 on FreeBSD 4.6.
Thanks.
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Vivek Khera, Ph.D. Khera Communications, Inc.
Internet: khera(at)kciLink(dot)com Rockville, MD +1-240-453-8497
AIM: vivekkhera Y!: vivek_khera http://www.khera.org/~vivek/
From: | <mallah(at)trade-india(dot)com> |
---|---|
To: | <khera(at)kcilink(dot)com> |
Cc: | <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: adding column with not null constraint |
Date: | 2002-10-18 21:57:41 |
Message-ID: | 1253.203.145.130.142.1034978261.squirrel@mail.trade-india.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-sql |
Hi Vivek,
In 7.3 there will be a fully implemented ALTER TABLE command for making
columns null or not null.
Currently you can update 'attnotnull' of pg_attribute system catalog
for the attrelid and attname. use pg_class system catalog for getting
attrelid of a given relation.
Regds
MAllah.
> I'm looking to add a column to my database with not null and a default value:
>
> vk=> alter table msg_owner add column user_optional_fields varchar(255) NOT NULL default '';
> ERROR: Adding columns with defaults is not implemented.
> Add the column, then use ALTER TABLE SET DEFAULT.
> vk=> alter table msg_owner add column user_optional_fields varchar(255) NOT NULL ; ERROR:
> Adding NOT NULL columns is not implemented.
> Add the column, then use ALTER TABLE ADD CONSTRAINT.
>
> Ok, so we can succeed with this:
>
> ALTER TABLE msg_owner ADD COLUMN user_optional_fields VARCHAR(255); ALTER TABLE msg_owner ALTER
> user_optional_fields SET DEFAULT '';
> UPDATE msg_owner SET user_optional_fields = '';
>
> Now my problem is I cannot find any syntax for ALTER TABLE ADD
> CONSTRAINT to put a NOT NULL constraint on a column. Can someone help me here?
>
> I'm using Postgres 7.2.1 on FreeBSD 4.6.
>
> Thanks.
>
> --
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Vivek Khera, Ph.D.
> Khera Communications, Inc.
> Internet: khera(at)kciLink(dot)com Rockville, MD +1-240-453-8497 AIM: vivekkhera Y!:
> vivek_khera http://www.khera.org/~vivek/
>
> ---------------------------(end of broadcast)--------------------------- TIP 5: Have you
> checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
-----------------------------------------
Get your free web based email at trade-india.com.
"India's Leading B2B eMarketplace.!"
http://www.trade-india.com/
From: | Johannes Lochmann <johannes(dot)lochmann(at)chello(dot)at> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: adding column with not null constraint |
Date: | 2002-10-20 15:26:39 |
Message-ID: | 1035127600.30905.5.camel@chello213047228041.tirol.surfer.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-sql |
On Fri, 2002-10-18 at 22:12, Vivek Khera wrote:
> ALTER TABLE msg_owner ADD COLUMN user_optional_fields VARCHAR(255);
> ALTER TABLE msg_owner ALTER user_optional_fields SET DEFAULT '';
> UPDATE msg_owner SET user_optional_fields = '';
>
> Now my problem is I cannot find any syntax for ALTER TABLE ADD
> CONSTRAINT to put a NOT NULL constraint on a column. Can someone help
> me here?
An additional thought to what mallah(at)trade-india(dot)com said:
BEGIN;
ALTER TABLE msg_owner ADD CONSTRAINT chk_msg_owner_usr_opt_flds_null
CHECK(user_optional_fields IS NOT NULL);
COMMIT;
HTH
Johannes Lochmann