Existe-t-il un moyen de réinitialiser toutes les séquences de tables, lorsque tronquer une table en cascade.
J'ai déjà lu ce post Comment réinitialiser la séquence dans postgres et remplir la colonne id avec de nouvelles données?
ALTER SEQUENCE seq RESTART WITH 1;
UPDATE t SET idcolumn=nextval('seq');
Cela ne fonctionne que pour une séquence, mais mon problème est de redémarrer toute la séquence des tables tronquées.
Considérez quand j'utilise TRUNCATE sch.mytable CASCADE;
Cela affecte 3 tables liées, ce qui signifie trois séquences. Y a-t-il une solution pour redémarrer cette séquence en une seule fois.
L'instruction TRUNCATE
possède une option supplémentaire RESTART IDENTITY
qui réinitialise les séquences associées aux colonnes du tableau.
TRUNCATE sch.mytable RESTART IDENTITY CASCADE;
Si CASCADE
est défini, les séquences de toutes les tables affectées sont réinitialisées.