PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Você pode criar uma sequência em uma coluna que já existe no Postgres


Bem, você precisa primeiro criar a sequência que deseja usar para o valor padrão:
create sequence linelevelpmts_seq_seq;
ALTER TABLE public.linelevelpmts 
    ALTER COLUMN seq SET DEFAULT nextval('linelevelpmts_seq_seq'::regclass);

Se você deseja o mesmo efeito como se fosse criado como serial você também precisa alterar o "proprietário" da sequência:
alter sequence linelevelpmts_seq_seq owned by linelevelpmts.seq;

Editar

O comentário do Igor é bom:se você já tem valores na coluna seq você deve ajustar o valor inicial da sequência:
select setval('linelevelpmts_seq_seq', (select max(seq) from linelevelpmts));