I'd like to alter all columns from type varchar to text. Could I do this by:

UPDATE pg_attribute SET atttypid = 25, atttypmod=-1 where attrelid =(select oid from pg_class where relname='table_name') and atttypid=1043;

I just tried on a test database. It worked fine with one exception: Views depending on an altered column did not work anymore. After recreating the views it was ok.

I know the procedure of "rename column - add column - delete column" but it's laborious for a large number of columns. There was also a discussion on the list maybe one year ago. Unfortunately I couldn't find the thread in the archive.

We are running postgres 7.4.1

Regards
        
        Stefan





--
-----------------------------
Dr. Stefan Holzheu
Tel.: 0921/55-5720
Fax.: 0921/55-5799
BITOeK Wiss. Sekretariat
Universitaet Bayreuth
D-95440 Bayreuth
-----------------------------

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
     joining column's datatypes do not match

Reply via email to