当 pgAdmin 中 csv 导入文件失败时,SERIAL PRIMARY KEY 一直在计数

SERIAL PRIMARY KEY keeps counting when the csv importing file fails in pgAdmin

我有 table 和 SERIAL PRIMARY KEY 并且在导入带有某些数据的 csv 文件时由于任何原因失败,当导入成功时 PRIMARY KEY 而不是从零开始(如果 table 是空的)它从应该是的数字开始,如果导入操作没有像下面显示的屏幕截图那样失败的话。

我已经找到了一些解决方案,但在我的情况下并不像 TRUNCATE TABLE 那样有效。我应用它并 TRUNCATE TABLE 并且所有数据都被删除但是当再次导入时序列号继续按顺序计数。

我想知道一种避免这种情况的方法,因为将来当我 table 有更多数据时,修复它会是一个巨大的问题,所以有没有什么方法可以在不删除或删除的情况下修复它table ?

非常感谢

您可以使用重置身份选项截断 table :

truncate table xxx RESTART IDENTITY ;

但对于身份列,我推荐现代 GENERATED AS IDENTITY