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

La valeur de la clé primaire ne s'incrémente pas correctement

Les colonnes en série prenant leur valeur par défaut à partir des séquences sont jamais garantie d'être sans espace . Ils sont garantis uniques et ascendant (tel que défini) et sûr pour une utilisation simultanée .
Si une transaction qui a tiré un numéro de la séquence est annulée, le numéro est brûlé et n'est plus utilisé ... Par documentation :

Si vous voyez de grands écarts comme 427 -> 4357 , cela indique un problème sérieux. Soit une autre colonne (ou n'importe quel processus) tire de la même séquence, soit vous avez un problème avec la logique de votre application, brûlant d'une manière ou d'une autre beaucoup d'ID de série.

Les candidats typiques sont des boucles qui ont mal tourné ou des transactions qui n'ont jamais été validées.