PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

O valor da chave primária não está sendo incrementado corretamente


Colunas seriais que assumem o padrão de sequências nunca garantido para ser sem lacunas . Eles são garantidos como únicos e ascendente (conforme definido) e seguro para uso simultâneo .
Se uma transação que extraiu um número da sequência for revertida, o número será queimado e não será usado novamente ... Por documentação:

Se você vir grandes lacunas como 427 -> 4357 , isso indica um problema sério. Ou alguma outra coluna (ou qualquer processo) está desenhando da mesma sequência, ou você tem um problema com a lógica do seu aplicativo, de alguma forma queimando muitos IDs seriais.

Os candidatos típicos são loops que deram errado ou transações que nunca foram confirmadas.