PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Redefinindo a coluna de incremento automático de volta para 0 diariamente


Poderia ser bastante trivial com um cronjob
0 0 * * * echo "SELECT setval('public.my_table_id_seq', 1, false)" | psql -U my_db_user -d my_db_name

Como alternativa, você pode definir sua coluna "serial" DEFAULT para chamar um procedimento armazenado, que verificaria um rollover de dia, redefiniria a sequência, se apropriado, e retornaria o resultado de nextval().

Mas fora isso, não, eu não esperaria que houvesse uma mágica ALTER SEQUENCE my_seq RESET AT INERVAL '1 day' ou algo assim.

Edit:incorporou o comentário de duckyfuzz.