目前我使用的是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);