sql >> Databáze >  >> RDS >> PostgreSQL

Hodnota primárního klíče se nezvyšuje správně

Sériové sloupce přebírající výchozí hodnotu ze sekvencí nejsou nikdy zaručeně bez mezer . Je zaručeno, že jsou jedinečné a vzestupně (jak je definováno) a bezpečné pro souběžné použití .
Pokud je transakce, která vytáhla číslo ze sekvence, vrácena zpět, číslo se spálí a znovu se nepoužije... Podle dokumentace:

Pokud vidíte velké mezery, například 427 -> 4357 , pak to znamená vážný problém. Buď nějaký jiný sloupec (nebo jakýkoli proces) kreslí ze stejné sekvence, nebo máte problém s logikou vaší aplikace, která nějak vypaluje spoustu sériových ID.

Typickými kandidáty jsou chybné smyčky nebo transakce, které nebyly nikdy potvrzeny.




  1. Jak Tand() funguje v PostgreSQL

  2. Jak zobrazit ukazatel průběhu při provádění velkého SQLCommand VB.Net

  3. CHYBA:Chyba při instalaci mysql2:CHYBA:Nepodařilo se sestavit nativní rozšíření drahokamů

  4. javafx připojení k mysql