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);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值