sql >> Base de Datos >  >> RDS >> PostgreSQL

Reinicie los números de clave principal de las filas existentes después de eliminar la mayor parte de una tabla grande

Suelte la clave principal primero y cree una secuencia temporal.

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

Usa la secuencia para actualizar:

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

Vuelva a crear la clave principal y suelte la secuencia

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

Si hay una dependencia de clave externa en esta tabla, primero tendrá que lidiar con ella y la actualización será un procedimiento más complejo.