sql >> Base de Datos >  >> RDS >> PostgreSQL

El valor de la clave principal no se incrementa correctamente

Las columnas seriales que toman su valor predeterminado de las secuencias son nunca garantizado para ser sin pausas . Se garantiza que son únicos y ascendente (como se define) y seguro para uso concurrente .
Si se revierte una transacción que ha extraído un número de la secuencia, el número se quema y no se vuelve a utilizar... Según documentación:

Si ve grandes espacios como 427 -> 4357 , entonces esto indica un problema grave. O alguna otra columna (o cualquier proceso) se está extrayendo de la misma secuencia, o tiene un problema con la lógica de su aplicación, quemando de alguna manera una gran cantidad de ID de serie.

Los candidatos típicos son bucles que salieron mal o transacciones que nunca se comprometieron.