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

Django ORM błędnie odczytuje sekwencje PostgreSQL?

Django w żaden sposób nie przechowuje ani nie odczytuje bezpośrednio wartości sekwencji. Wyjaśniłem to np. w to pytanie:2088210/django-object-creation-and -sekwencje-postgres .

Postgresql inkrementuje sekwencję podczas próby dodania wiersza, nawet jeśli wynik operacji nie powiedzie się (podnosi błąd zduplikowanego klucza), inkrementacja sekwencji nie zostanie wycofana. To jest powód, dla którego to działa przy drugiej próbie dodania wiersza.

Nie wiem, dlaczego twoje sekwencje nie są poprawnie ustawione, czy możesz sprawdzić, jaka jest wartość sekwencji przed zrzutem i po przywróceniu, i zrobić to samo z max() pk tabeli? Może to błąd 8.1 z przywracaniem? Nie wiem. Czego jestem pewien:to nie wina Django.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Użyj wyzwalacza Postgres, aby zarejestrować kod JSON tylko zmodyfikowanych pól

  2. kiedy się rozłączyć, a kiedy zakończyć klienta lub pulę pg

  3. PostgreSQL 9.6:równoległe skanowanie sekwencyjne

  4. Równoważenie obciążenia PostgreSQL przy użyciu HAProxy i Keepalived

  5. PGAdmin 4 nie tworzy kopii zapasowej bazy danych bez błędów