Reputation: 4077
Is there a way in postgresql to have an auto-incrementing column reset back to zero at a specified time every day?
Upvotes: 6
Views: 9449
Reputation: 39386
It could be pretty trivial with a cronjob
0 0 * * * echo "SELECT setval('public.my_table_id_seq', 1, false)" | psql -U my_db_user -d my_db_name
Alternately, you could set your "serial" column DEFAULT to call a stored procedure, which would check for a day rollover, reset the sequence if appropriate, and then return the result of nextval().
But other than that, no, I wouldn't expect that there's a magic ALTER SEQUENCE my_seq RESET AT INERVAL '1 day' or anything like that.
Edit: incorporated duckyfuzz's comment.
Upvotes: 7
Reputation: 71
Basicaly you can reset sequence with this one:
ALTER SEQUENCE your_sequence_name RESTART WITH 1;
Enjoy...
Upvotes: 7