sql >> Databasteknik >  >> RDS >> PostgreSQL

Varför går Postgres-sekvensobjektet upp även om objektskapandet misslyckas?

Ja, detta är det förväntade beteendet. Se dokument :

Observera att nextval är normalt inställt som ett standardvärde för en autoinkrement/seriell kolumn.

Försök också föreställa dig hur svårt och ineffektivt det skulle vara om nextval skulle rulla tillbaka. I grund och botten skulle du behöva låsa varje klient på nextval tills hela transaktionen (den som fick låset) behandlas. Glöm i så fall bort samtidiga inlägg.

Som vad? Problemet i ditt fall var att någon manuellt angav ett värde för en kolumn för autoinkrement. Du bör aldrig göra det om du inte är en samuraj. :)




  1. SQL-fråga för att bygga om en tabell med dess dynamiska raddata för kolumnnamn

  2. Hur väljer man data där ett fält har ett minvärde i MySQL?

  3. PIVOT Oracle - transformera flera rader till en rad med flera kolumner, inga samlade data

  4. postgresql, kunde inte identifiera kolumn i postdatatypen