Ja, das ist das erwartete Verhalten. Siehe Dokumentation :
Beachten Sie, dass nextval
wird normalerweise als Standardwert für eine Autoincrement/Serial-Spalte gesetzt.
Versuchen Sie sich auch vorzustellen, wie schwer und ineffizient es wäre, wenn nextval
waren zurückzusetzen. Im Wesentlichen müssten Sie jeden Client auf nextval
sperren bis die gesamte Transaktion (diejenige, die die Sperre erworben hat) verarbeitet ist. Vergessen Sie in diesem Fall gleichzeitige Einfügungen.
Wie was? Das Problem in Ihrem Fall war, dass jemand manuell einen Wert für eine Autoincrement-Spalte angegeben hat. Sie sollten das niemals tun, es sei denn, Sie sind ein Samurai. :)