PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Ripristino della colonna di incremento automatico su 0 ogni giorno

Potrebbe essere piuttosto banale con un cronjob

0 0 * * * echo "SELECT setval('public.my_table_id_seq', 1, false)" | psql -U my_db_user -d my_db_name

In alternativa, puoi impostare la tua colonna "seriale" DEFAULT per chiamare una stored procedure, che verificherebbe un rollover giornaliero, reimpostare la sequenza se appropriato e quindi restituire il risultato di nextval().

Ma a parte questo, no, non mi aspetterei che ci sia una magica ALTER SEQUENCE my_seq RESET AT INERVAL '1 day' o qualcosa del genere.

Modifica:incorporato il commento di Duckyfuzz.