(Opdateret - tak til de personer, der kommenterede )
Moderne versioner af PostgreSQL
Antag, at du har en tabel ved navn test1
, hvortil du vil tilføje en auto-incrementerende primærnøgle id
(surrogat) kolonne. Følgende kommando burde være tilstrækkelig i nyere versioner af PostgreSQL:
ALTER TABLE test1 ADD COLUMN id SERIAL PRIMARY KEY;
Ældre versioner af PostgreSQL
I gamle versioner af PostgreSQL (før 8.x?) skulle du gøre alt det beskidte arbejde. Følgende sekvens af kommandoer burde gøre tricket:
ALTER TABLE test1 ADD COLUMN id INTEGER;
CREATE SEQUENCE test_id_seq OWNED BY test1.id;
ALTER TABLE test ALTER COLUMN id SET DEFAULT nextval('test_id_seq');
UPDATE test1 SET id = nextval('test_id_seq');
Igen, i nyere versioner af Postgres svarer dette nogenlunde til den enkelte kommando ovenfor.