Re: Converting varchar() to text - Mailing list pgsql-general

From Robert Treat
Subject Re: Converting varchar() to text
Date
Msg-id 200409170247.04485.xzilla@users.sourceforge.net
Whole thread Raw
In response to Converting varchar() to text  (Steve Atkins <steve@blighty.com>)
Responses Re: Converting varchar() to text  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
On Wednesday 15 September 2004 12:29, Steve Atkins wrote:
> Is there a safe way to convert varchar(n) to text, other than create
> a new column, update, delete column, rename?
>
> I have a number of databases that were built with varvhar(n) and which
> should have been done with text. They're in production, and I'd rather
> not take the downtime needed to convert some rather large tables - the
> bulk update hitting every row of the large table makes it effectively
> unvacuumable, and vacuum full requires locks that effectively shut
> down the entire system.
>
> They're the same format on disk, so I'm guessing that some diddling
> with pg_attribute may be possible. Does anyone have any experience
> doing this?
>

I wouldn't say it's impossible to do it, but several people have reported
corruption issues in things like indexes when doing this type of thing in
7.4.x.  If you really cant do it the normal way,  if you dont have too many
trigger issues, is to create a new table via a select statement with the
proper columns, then drop the old table and rename the new one.  Another idea
might be to just add the new column and then use a view with some coalesce
magic to combine the two columns into one.  HTH

--
Robert Treat
Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL

pgsql-general by date:

Previous
From: Pierre-Frédéric Caillaud
Date:
Subject: Re: UTF-8 question.
Next
From: "Katsaros Kwn/nos"
Date:
Subject: Re: Is it possible to get the 7.4.1 static docs in HTML