| 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: | Whole Thread | Raw Message | 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
| 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 |