alter column datatype with cast - Mailing list pgsql-general

From Klein Balázs
Subject alter column datatype with cast
Date
Msg-id 20051229204617.0FBA33E515C@graveyard.mail.t-online.hu
Whole thread Raw
In response to Re: [Bulk] Re: Final stored procedure question, for now anyway  ("Jonel Rienton" <jonel@rientongroup.com>)
Responses Re: alter column datatype with cast
List pgsql-general
I had to change the datatype of a column from text to integer. The column
contained integers (obviously stored as text).

When I tried to change the datatype of the column I got an error message
saying that the column can not be cast to integer:

Operation : ALTER TABLE "public"."subjectgroupcondition"  ALTER COLUMN
"param1" TYPE INTEGER
Result    : "ERROR:  column "param1" cannot be cast to type
"pg_catalog.int4""

However when I created an other integer column in the table and updated it
from the text column there was no problem casting the data:
Operation : UPDATE public.subjectgroupcondition SET param2 = cast(param1 as
integer);
Result    : "OK."

Since pg knows that it should cast the data and it can cast it I think I
should have been able to change the datatype in the first instance. Maybe
this behaviour has a good reason but I don't know what it is.

Regards,
SWK


pgsql-general by date:

Previous
From: "Guy Rouillier"
Date:
Subject: Re: [Bulk] Re: Final stored procedure question, for now anyway
Next
From: "Joshua Kramer"
Date:
Subject: Stored Procedure: PL/Perl or PL/SQL?