Re: Adding a New Column Specifically In a Table

From: Raymond O'Donnell <rod(at)iol(dot)ie>
To: Carlos Mennens <carlos(dot)mennens(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Adding a New Column Specifically In a Table
Date: 2010-10-13 22:19:29
Message-ID: 4CB63071.3070601@iol.ie
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 13/10/2010 19:04, Carlos Mennens wrote:
> OK so I have read the docs and Google to try and find a way to add a
> new column to an existing table. My problem is I need this new column
> to be created 3rd rather than just dumping this new column to the end
> of my table. I can't find anywhere how I can insert my new column as
> the 3rd table column rather than the last (seventh). Does anyone know
> how I can accomplish this or if it's even possible. Seems like a
> common task but I checked the documentation and may have missed it in
> my reading.
>

It isn't possible at the moment. This has come up a good bit in the
past, so you'll find debate in the archives...

One work-around is to add the column, and then do:

create table new_table as
select [columns in desired order] from old_table;

drop table old_table;

alter table new_table rename to old_table;

...remembering to deal with foreign key constraints as you go.

HTH

Ray.

--
Raymond O'Donnell :: Galway :: Ireland
rod(at)iol(dot)ie

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Darren Duncan 2010-10-13 22:29:44 Re: Adding a New Column Specifically In a Table
Previous Message Thom Brown 2010-10-13 22:18:07 Re: Adding a New Column Specifically In a Table