mirror of
https://github.com/jbranchaud/til
synced 2026-01-03 07:08:01 +00:00
Add Restarting Sequences When Truncating Tables as a postgres til.
This commit is contained in:
15
postgres/restarting-sequences-when-truncating-tables.md
Normal file
15
postgres/restarting-sequences-when-truncating-tables.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# 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`.
|
||||
|
||||
```
|
||||
truncate pokemon, trainers, pokemons_trainers restart identity;
|
||||
```
|
||||
Reference in New Issue
Block a user