PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Tägliches Zurücksetzen der Auto-Increment-Spalte auf 0

Mit einem Cronjob

könnte es ziemlich trivial sein
0 0 * * * echo "SELECT setval('public.my_table_id_seq', 1, false)" | psql -U my_db_user -d my_db_name

Alternativ könnten Sie Ihre "serielle" Spalte DEFAULT so einstellen, dass sie eine gespeicherte Prozedur aufruft, die nach einem Tagesüberlauf sucht, die Sequenz gegebenenfalls zurücksetzt und dann das Ergebnis von nextval() zurückgibt.

Aber abgesehen davon, nein, ich würde nicht erwarten, dass es eine magische ALTER SEQUENCE my_seq RESET AT INERVAL '1 day' oder so etwas gibt.

Edit:Kommentar von duckyfuzz eingefügt.