varchat ->text
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 chars would be allocated, and more if needed). I needed that, and only now I noticed that I could only do what I need with the 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 column seems 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 address may dissapear soon
Thanks in advance
Aristide
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 column seems 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