sql >> Database teknologi >  >> RDS >> PostgreSQL

Primær nøgleværdi stiger ikke korrekt

Serielle kolonner, der tager deres standard fra sekvenser, er aldrig med garanti gabfri . De er garanteret unike og stigende (som defineret) og sikker til samtidig brug .
Hvis en transaktion, der har trukket et tal fra sekvensen, rulles tilbage, bliver nummeret brændt og ikke brugt igen ... Pr. dokumentation:

Hvis du ser store huller som 427 -> 4357 , så indikerer dette et alvorligt problem. Enten tegner en anden kolonne (eller en hvilken som helst proces) fra den samme sekvens, eller også har du et problem med din applikationslogik, hvor du på en eller anden måde brænder en masse serielle ID'er.

Typiske kandidater er sløjfer, der er gået galt, eller transaktioner, der aldrig blev begået.




  1. Mysql Sammenlign to datetime-felter

  2. SQL Forespørgsel med fagforening og join

  3. Undtagelseshåndtering i Procedure med indlejrede funktioner i pl/sql

  4. Datatabeller - Json output - PostgreSQL - Returnerer null