(Aktualizováno – děkujeme lidem, kteří komentovali )
Moderní verze PostgreSQL
Předpokládejme, že máte tabulku s názvem test1
, ke kterému chcete přidat automaticky se zvyšující primární klíč id
(náhradní) sloupec. Následující příkaz by měl v posledních verzích PostgreSQL postačovat:
ALTER TABLE test1 ADD COLUMN id SERIAL PRIMARY KEY;
Starší verze PostgreSQL
Ve starých verzích PostgreSQL (před 8.x?) jste museli dělat všechnu špinavou práci. Následující sekvence příkazů by měla stačit:
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');
Opět, v posledních verzích Postgresu je to zhruba ekvivalentní výše uvedenému jedinému příkazu.