Skip to main content

疑难解答

PostgreSQL 数据库常见报错

postgres 自增id修复

迁移sqlite到postgres遇到一个问题。就是自增id老是报 键重复的错误,查了一下,是因为自增的seq 序列id 失去了有效的自增。我们需要修复一下。

命令是:

SELECT setval('表名_id_seq', (SELECT max(id) FROM 表名)+1);

表名id_seq是你的表的自增id,通常为 mytable_id_seq

表的定义通常看起来是这样的

    id           bigserial
        constraint mytable_pkey
            primary key,

id 的默认值是 nextval('postss_id_seq'::regclass)