PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Resetowanie kolumny automatycznego przyrostu z powrotem do 0 dziennie

Z cronjob może to być dość trywialne

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

Alternatywnie, możesz ustawić kolumnę "serial" DEFAULT tak, aby wywoływała procedurę składowaną, która sprawdziłaby przewijanie dzienne, zresetowała sekwencję, jeśli to konieczne, a następnie zwróciła wynik funkcji nextval().

Ale poza tym nie, nie spodziewałbym się, że istnieje magiczna ALTER SEQUENCE my_seq RESET AT INERVAL '1 day' lub coś w tym rodzaju.

Edycja:włączono komentarz duckyfuzza.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ciągle wstawiaj wszystkie unikalne kombinacje napotkane trzech identyfikatorów

  2. Metapolecenia w Psycopg2 - \d nie działa

  3. PostgreSQL:Czy istnieje funkcja, która konwertuje int o podstawie 10 na ciąg o podstawie 36?

  4. Jak mogę rozwiązać problem z integralnością pola, które nie istnieje?

  5. Błąd „Certyfikat z podpisem własnym” podczas zapytania do bazy danych Postgres hostowanej przez Heroku z aplikacji Node.js