UndefinedTable: relation “ ****_id_seq“ does not exist解决方法

目前我使用的是Odoo10 当我线下开发导入备份库时,运行到部分功能提示报错
UndefinedTable: relation “summary_order_line_id_seq” does not exist
查阅部分资料有的说是postgresql9版本的问题 10已经修复
针对这个有两种解决办法
方法一(不建议使用)
卸载冲安装对应模块,若没有数据或者依赖的情况简单粗暴高效,局限性很大。
方法二

CREATE SEQUENCE IF NOT EXISTS ***_id_seq;

查询所有自增序列

SELECT "c"."relname" FROM "pg_class" "c" WHERE "c"."relkind" = 'S';

pgSQL导表或者创建表的时候,检查是否存在自增字段序列,然后创建

CREATE SEQUENCE IF NOT EXISTS tablename_id_seq;

创建自增序列

CREATE SEQUENCE tablename_id_seq
CREATE SEQUENCE tablename_id_seq START 10;

删除某个自增序列

DROP SEQUENCE tablename_id_seq

更新某个自增序列

alter sequence tablename_id_seq restart with 100

查询下一个序列

select nextval('tablename_id_seq ');

使用自增序列

nextval('tablename_id_seq'::regclass)

后面追加 虽然生成了id_seq,但是提示我另外一个错误

duplicate key value violates unique constraint "***_***_***_pkey"

DETAIL: Key (id)=(91) already exists.

** 使用如下能够解决**

SELECT setval('tablename_id_seq', (SELECT MAX(id) FROM tablename)+1);

你可能感兴趣的:(Odoo,pstgresql,postgresql)