插入记录时,当 id 序列达到最大可能值时会发生什么

end*_*ooo 6 postgresql

正如标题所说: - 当id字段自增达到极限时会发生什么?

有溢出吗?我们可以通过预先删除这些索引来将其编程为像旋转索引一样从 0 重新启动吗?

Lau*_*lbe 5

如果达到列数据类型的限制,则每当您尝试插入新行时都会收到错误消息:

nextval: reached maximum value of sequence "sequence_name"
Run Code Online (Sandbox Code Playgroud)

您可以更改顺序以从 0 重新启动,但这对您没有帮助,因为您最终会出现主键冲突错误。您可以以非常低的负数重新启动序列,并用完负数来进一步延迟不可避免的情况。

不可避免的是,在某些时候您将用完您的数据类型的数字,并且您将必须修改表以使用允许更广泛数字范围的数字数据类型。这种变化非常令人不快,通常意味着更长的停机时间(尽管有复杂的方法可以解决这个问题)。