sql >> Database teknologi >  >> RDS >> PostgreSQL

Kan du oprette en sekvens på en kolonne, der allerede findes i Postgres

Nå, du skal først oprette den sekvens, du vil bruge til standardværdien:

create sequence linelevelpmts_seq_seq;
ALTER TABLE public.linelevelpmts 
    ALTER COLUMN seq SET DEFAULT nextval('linelevelpmts_seq_seq'::regclass);

Hvis du vil have den samme effekt, som hvis den blev oprettet som serial du skal også ændre "ejeren" af sekvensen:

alter sequence linelevelpmts_seq_seq owned by linelevelpmts.seq;

Rediger

Igors kommentar er god:hvis du allerede har værdier i kolonnen seq du skal justere startværdien for sekvensen:

select setval('linelevelpmts_seq_seq', (select max(seq) from linelevelpmts));



  1. mysql find seneste brugerkommentarer

  2. PostgreSQL:Giv alle tilladelser til en bruger på en PostgreSQL-database

  3. Dataintegritet og præstationsovervejelser i MySQL semisynkron replikering

  4. i postgres, kan du indstille standardformateringen for et tidsstempel, efter session eller globalt?