Re: Alter definition of a column - Mailing list pgsql-general

From Kelly Burkhart
Subject Re: Alter definition of a column
Date
Msg-id fa1e4ce70701200919h2217e1e2pc140deb21b9c81@mail.gmail.com
Whole thread Raw
In response to Re: Alter definition of a column  ("Shoaib Mir" <shoaibmir@gmail.com>)
Responses Re: Alter definition of a column
Re: Alter definition of a column
Re: Alter definition of a column
List pgsql-general
On 1/20/07, Shoaib Mir <shoaibmir@gmail.com> wrote:
> Should help --> ALTER TABLE tablename ALTER columname TYPE text;

I was looking for a way to alter a column from varchar(n) to text
without using the alter command and consequently touching every single
row.  Below is sql which seems to work, but is it advisable to do such
shenanigans?  (are varchar and text the same thing)?

kelly=# create table foo( c1 varchar(4) not null, c2 text not null );
CREATE TABLE
kelly=#
kelly=# update pg_attribute set atttypid=25, atttypmod=-1
kelly-# where attname = 'c1' and attrelid =
kelly-#     (select oid from pg_class where relname = 'foo');
UPDATE 1
kelly=#
kelly=# \d foo
    Table "public.foo"
 Column | Type | Modifiers
--------+------+-----------
 c1     | text | not null
 c2     | text | not null

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Help : Microsoft SQL Server equivalents in
Next
From: Ron Johnson
Date:
Subject: Re: Help : Microsoft SQL Server equivalents in