Emi Lu a écrit : > I am trying to insert one column to a specific position in a table. > > In mysql, I can do: > . create table test(id varchar(3), name varchar(12)); > . alter table test add column givename varchar(12) after id; > > > I am looking for similar things in postgresql to add a new column to the > correct position in a table. > > Could someone hint me please. >
There's no similar thing in PostgreSQL. You have to duplicate the table to do it. You can do it in a transaction : CREATE TABLE test (id varchar(3), name varchar(12)); then later : BEGIN; ALTER TABLE test RENAME TO oldtest; CREATE TABLE test (id varchar(3), givename varchar(12), name varchar(12)); INSERT INTO test (id, name) SELECT id, name FROM oldtest; DROP TABLE oldtest; COMMIT; Not really interesting if you have really big tables but, in fact, you shouldn't rely on columns' order. Regards. -- Guillaume. ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend