PostgreSQL: Reset Sequence Command

If you have a serial ID column (ie auto incrementing ID), they'll start at 1 by default, but sometimes you may want them to start at a different number. These numbers are known as "sequences" and have their own designated table.

If you have a users.id column, you'll have a users_id_seq table. Some helpful columns in there are start_value, which will usually be 1, and last_value, which could be a fast way to see how many rows are in your table if you haven't altered your sequence or deleted any rows.

select * from users_id_seq;
 sequence_name | last_value | start_value | increment_by |      max_value      | min_value | cache_value | log_cnt | is_cycled | is_called
---------------+------------+-------------+--------------+---------------------+-----------+-------------+---------+-----------+-----------
 users_id_seq  |          1 |           1 |            1 | 9223372036854775807 |         1 |           1 |      32 | f         | t
(1 row)

To alter the sequence so that IDs start a different number, you can't just do an update, you have to use the alter sequence command.

alter sequence users_id_seq restart with 1000;
database icon
Shared queries and folders ✅ Version history ✅ One-click connection to PostgreSQL ✅
Get more done, together, with PopSQL and PostgreSQL