Re: alter varchar() column length?

From: "Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com>
To: "Gauthier, Dave" <dave(dot)gauthier(at)intel(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: alter varchar() column length?
Date: 2008-01-11 15:10:03
Message-ID: 162867790801110710g3c686010qcdd852e721e7a559@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello

CREATE TABLE foog(a varchar(10));
ALTER TABLE foog ALTER COLUMN a TYPE varchar(30);

postgres=# \d foog
Table "public.foog"
Column | Type | Modifiers
--------+-----------------------+-----------
a | character varying(30) |

regards
Pavel Stehule

On 11/01/2008, Gauthier, Dave <dave(dot)gauthier(at)intel(dot)com> wrote:
>
>
>
>
> Is there a way to alter a varchar column's length? Maybe something like
> "alter table foo alter column xyz varchar(256)".
>
>
>
> My alternative seems very messy...
>
> - alter table, add a new column with the desired varchar length.
> call it "temp"
>
> - insert into "temp" the value of the old column.
>
> - alter table, drop the old column (messing up all the indexes on
> that column in the process I suppose)
>
> - alter table, add a new column with the same name as the one you
> just deleted, only with the desired length
>
> - insert into that new column the value in "temp"
>
> - alter table, drop "temp"
>
> - recreate all the indexes
>
>
>
> Thanks
>
> -dave

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Vyacheslav Kalinin 2008-01-11 15:18:20 Prepared statement's plan
Previous Message Gauthier, Dave 2008-01-11 14:55:57 alter varchar() column length?