序列末尾的 Postgresql 行为

Fab*_*oni 6 postgresql sequence

根据主题,当序列达到其最大值时会发生什么?

行为是什么?我有一个以序列作为主键的大表,想知道。

谢谢。

Phi*_*lᵀᴹ 7

如果你尝试一下,你会得到:

ERROR: nextval: reached maximum value of sequence "testseq" (9223372036854775807): select nextval('testseq')
Run Code Online (Sandbox Code Playgroud)

当为 aserialbigserial列自动创建序列时就是这种情况。您可以使用指定创建一个序列CYCLE,在这种情况下,它将从MINVALUE指定的(或保留默认值 1)重新启动。