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.gauthier@xxxxxxxxx> 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 ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster