PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Können Sie eine Sequenz für eine Spalte erstellen, die bereits in Postgres vorhanden ist

Nun, Sie müssen zuerst die Sequenz erstellen, die Sie für den Standardwert verwenden möchten:

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

Wenn Sie den gleichen Effekt wünschen, als ob es als serial erstellt wurde Sie müssen auch den "Eigentümer" der Sequenz ändern:

alter sequence linelevelpmts_seq_seq owned by linelevelpmts.seq;

Bearbeiten

Igors Kommentar ist gut:wenn Sie bereits Werte in der Spalte seq haben Sie sollten den Startwert der Sequenz anpassen:

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