PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Réinitialisation de la colonne d'auto-incrémentation à 0 quotidiennement

Cela pourrait être assez trivial avec un cronjob

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

Alternativement, vous pouvez définir votre colonne "série" DEFAULT pour appeler une procédure stockée, qui vérifierait un roulement de jour, réinitialiserait la séquence si nécessaire, puis renverrait le résultat de nextval().

Mais à part ça, non, je ne m'attendrais pas à ce qu'il y ait une magie ALTER SEQUENCE my_seq RESET AT INERVAL '1 day' ou quelque chose comme ça.

Edit :commentaire de duckyfuzz incorporé.