1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-03 07:08:01 +00:00
Files
til/postgres/restarting-sequences-when-truncating-tables.md
2016-01-04 20:07:28 -06:00

16 lines
716 B
Markdown

# Restarting Sequences When Truncating Tables
PostgreSQL's
[`truncate`](http://www.postgresql.org/docs/current/static/sql-truncate.html)
feature is a handy way to clear out all the data from a table. If you use
`truncate` on a table that has a `serial` primary key, you may notice that
subsequent insertions keep counting up from where you left off. This is
because the sequence the table is using hasn't been restarted. Sure, you can
restart it manually or you can tell `truncate` to do it for you. By
appending `restart identity` to the end of a `truncate` statement, Postgres
will make sure to restart any associated sequences at `1`.
```sql
truncate pokemons, trainers, pokemons_trainers restart identity;
```