Thread: varchat ->text

varchat ->text

From
Aristide Aragon
Date:
Hello
I created a few tables in a DB and created some varchar rows in them.
I didn't notice then that varchar(n) was an array of max[n] size, actually I thought it was the opposite (a minium of n
charswould be allocated, and more if needed). I needed that, and only now I noticed that I could only do what I need
withthe text data type. 
I need, then, to convert my tables from varchar to text, but I don't find a way to do it. ALTER TABLE table ALTER
columnseems to only be able to modify the default value, not the data type. I also don't see an ALTER TABLE DROP
COLUMN,so that I could drop the varchar column and then add a text one. 
Is there a way to do what I need without having to drop all the tables?

Please reply to aristide@mexred.net.mx and aristide@lionking.org, for my mail server is down, but the other email
addressmay dissapear soon 

Thanks in advance

Aristide

Re: varchat ->text

From
Richard Huxton
Date:
Aristide Aragon wrote:
>
[snip]
> I need, then, to convert my tables from varchar to text, but I don't find a way to do it. ALTER TABLE table ALTER
columnseems to only be able to modify the default value, not the data type. I also don't see an ALTER TABLE DROP
COLUMN,so that I could drop the varchar column and then add a text one. 
> Is there a way to do what I need without having to drop all the tables?
>
Quickest way is to use pg_dump with the table definitions (-s iirc) then
use your favourite text editor to do a bit of search & replace then re-import.

- Richard Huxton