Thread: Location of a new column
All, I thought this was answered before, but I could not find anything in my saved email. I need to ALTER a table to add a new column. I want the new column to be between two existing columns, however. Didn't I see mention of an "AFTER" parameter that specified the location in the table where the new column should be placed ? Maybe not .......... How then, can I specify the location within the table, of new column ? 7.3 & RH Linux Many thanks ! Terry -- Terry L. Hampton Project Manager LimaCorp, LLC www.limacorp.com 513.587.1874
On Thu, 8 Apr 2004, Terry Hampton wrote: > I thought this was answered before, but I > could not find anything in my saved email. > > I need to ALTER a table to add a new column. > I want the new column to be between two existing > columns, however. Didn't I see mention of > an "AFTER" parameter that specified the location > in the table where the new column should be > placed ? Maybe not .......... How then, > can I specify the location within the table, of > new column ? AFAIK, you can't using add column. It currently does no more than the SQL92/99 spec requires in that respect (which is put the column at the end). About all you can do to put it somewhere else is a sequence with a new table, copying data and renaming (and fixing constraints).
On Thu, 2004-04-08 at 09:55, Stephan Szabo wrote: > > On Thu, 8 Apr 2004, Terry Hampton wrote: > > > I thought this was answered before, but I > > could not find anything in my saved email. > > > > I need to ALTER a table to add a new column. > > I want the new column to be between two existing > > columns, however. Didn't I see mention of > > an "AFTER" parameter that specified the location > > in the table where the new column should be > > placed ? Maybe not .......... How then, > > can I specify the location within the table, of > > new column ? > > AFAIK, you can't using add column. It currently does no more than the > SQL92/99 spec requires in that respect (which is put the column at the > end). > > About all you can do to put it somewhere else is a sequence with a new > table, copying data and renaming (and fixing constraints). > IIRC this option is available in 7.5. At least I seem to remember some (Chris K-L) posting a patch and it getting committed. You could check the developers docs to verify I suppose. Robert Treat -- Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL
Robert Treat <xzilla@users.sourceforge.net> writes: > On Thu, 2004-04-08 at 09:55, Stephan Szabo wrote: >> AFAIK, you can't using add column. It currently does no more than the >> SQL92/99 spec requires in that respect (which is put the column at the >> end). > IIRC this option is available in 7.5. No, there has been some discussion but no move to implement it. AFAIR there is no reasonable way to implement it without breaking apps that depend on the existing semantics of pg_attribute.attnum :-(. Check the pghackers archives if you want to know more. regards, tom lane