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

Riavvia i numeri di chiave primaria delle righe esistenti dopo aver eliminato la maggior parte di una tabella di grandi dimensioni

Rilascia prima la chiave primaria e crea una sequenza temporanea.

alter table mytable drop constraint mydata_pkey;
create temporary sequence temp_seq;

Usa la sequenza per aggiornare:

update mytable
set id = nextval('temp_seq');

Ricrea la chiave primaria e rilascia la sequenza

alter table mytable add primary key (id);
drop sequence temp_seq;

Se c'è una dipendenza da chiave esterna su questa tabella, dovrai prima affrontarla e l'aggiornamento sarà una procedura più complessa.