(Bijgewerkt - Bedankt aan de mensen die hebben gereageerd )
Moderne versies van PostgreSQL
Stel dat u een tabel heeft met de naam test1
, waaraan u een automatisch oplopende, primaire sleutel id
. wilt toevoegen (surrogaat) kolom. Het volgende commando zou voldoende moeten zijn in recente versies van PostgreSQL:
ALTER TABLE test1 ADD COLUMN id SERIAL PRIMARY KEY;
Oudere versies van PostgreSQL
In oude versies van PostgreSQL (vóór 8.x?) moest je al het vuile werk opknappen. De volgende reeks opdrachten zou moeten volstaan:
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');
Nogmaals, in recente versies van Postgres is dit ongeveer gelijk aan het enkele commando hierboven.