Is there any way to reset all the sequences of tables, when postgres truncate tables on cascade.

532    Asked by GraceDuncan in SQL Server , Asked on Oct 3, 2022

 Is there any way to reset all the sequences of tables, when truncate a table on cascade.

I already read this post: How to reset sequence in postgres and fill id column with new data?

ALTER SEQUENCE seq RESTART WITH 1;

UPDATE t SET id column=nextval('seq');

It works only for one sequence, but my problem is to restart all the sequences of the truncated tables.

Consider when I use TRUNCATE sch.mytable CASCADE; It affects 3 related tables, which mean three sequences. Is there any solution to restart this sequence in one shot?

Answered by Grace

The postgres truncate table

 statement has an additional option RESTART IDENTITY which resets the sequences associated with the table columns.

TRUNCATE sch.mytable RESTART IDENTITY CASCADE;

If CASCADE is defined, then the sequences of all affected tables are reset.



Your Answer

Interviews

Parent Categories