PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Redémarrez les numéros de clé primaire des lignes existantes après avoir supprimé la majeure partie d'une grande table

Déposez d'abord la clé primaire et créez une séquence temporaire.

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

Utilisez la séquence pour mettre à jour :

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

Recréez la clé primaire et supprimez la séquence

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

S'il existe une dépendance de clé étrangère sur cette table, vous devrez d'abord vous en occuper et la mise à jour sera une procédure plus complexe.