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

Reinicie os números de chave primária de linhas existentes após excluir a maior parte de uma tabela grande


Solte a chave primária primeiro e crie uma sequência temporária.
alter table mytable drop constraint mydata_pkey;
create temporary sequence temp_seq;

Use a sequência para atualizar:
update mytable
set id = nextval('temp_seq');

Recrie a chave primária e elimine a sequência
alter table mytable add primary key (id);
drop sequence temp_seq;

Se houver uma dependência de chave estrangeira nesta tabela, você terá que lidar com ela primeiro e a atualização será um procedimento mais complexo.