PostgreSQL. 异常“more than one owned sequence found”的解决方案

这篇具有很好参考价值的文章主要介绍了PostgreSQL. 异常“more than one owned sequence found”的解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、异常信息描述

执行数据库操作时,主键id没有自增,且报“more than one owned sequence found”的异常,造成数据没有insert进去,下面是详细的异常信息:

java.lang.reflect.InvocationTargetException
    at sun.reflect.GeneratedMethodAccessor613.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.manage.quartz.util.JobInvokeUtil.invokeMethod(JobInvokeUtil.java:61)
    at com.manage.quartz.util.JobInvokeUtil.invokeMethod(JobInvokeUtil.java:33)
    at com.manage.quartz.util.QuartzJobExecution.doExecute(QuartzJobExecution.java:17)
    at com.manage.quartz.util.AbstractQuartzJob.execute(AbstractQuartzJob.java:43)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Caused by: org.springframework.jdbc.UncategorizedSQLException: 
### Error updating database.  Cause: org.postgresql.util.PSQLException: 错误: more than one owned sequence found
### The error may involve com.manage.provided.mapper.DispatchHisMapper.insertDispatchHis-Inline
### The error occurred while setting parameters
### SQL: insert into t_dispatch_his          ( pump_id,             pump_name,             region_id,                          value,             date )           values ( ?,             ?,             ?,                          ?,             ? )
### Cause: org.postgresql.util.PSQLException: 错误: more than one owned sequence found
; uncategorized SQLException; SQL state [XX000]; error code [0]; 错误: more than one owned sequence found; nested exception is org.postgresql.util.PSQLException: 错误: more than one owned sequence found
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:89)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
    at org.mybatis.spring.MyBatisException

而且,使用 Navicat 客户端手动插入一条数据时,也是弹框报错“more than one owned sequence found”。

二、解决方案安排

1、首先,查询重复的 “SEQUENCE”,查询语句如下:
SELECT 'DROP SEQUENCE "'||c.relname||'";' FROM pg_class c WHERE c.relkind ='S'
ORDER BY c.relname

查询结果如下图

找到重复的““SEQUENCE””对象,然后使用该删除语句进行删除。如:DROP SEQUENCE "t_dispatch_hist_id_seq";

执行完这步,就可以插入数据了,但是id自动会从1重新开始,下面我们来重置下id自增的起始数字。

2、重置下id自增的起始数字

根据表名查询对应的"SEQUENCE",sql如下:

select pg_get_serial_sequence('t_dispatch_his', 'id');

这样,就可以根据表名称查询出来对应的"SEQUENCE",进行下一步的操作。

3、重新设置id主键自增

根据项目需求,重新设置id主键的自增起始,代码如下:

ALTER SEQUENCE public.t_dispatch_his_id_seq RESTART WITH 773;

ok,经过上面的一些列操作,"more than one owned sequence found"的异常就被消灭掉了,可以愉快的去吃午饭了😏😏😏文章来源地址https://www.toymoban.com/news/detail-760292.html

到了这里,关于PostgreSQL. 异常“more than one owned sequence found”的解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【解决】RuntimeError: Boolean value of Tensor with more than one value is ambiguous

    在用pytorch进行损失函数计算时,报错误: 翻译过来就是说: 具有多个值的张量的布尔值不明确  我是这报错: 啥意思?,你问我,我也不知道呀!、、、  错误原因分析: 其实是,因为我损失函数调用时没有初始化,所以导致报错 其实我是初始化了,但是因为没有+(),

    2024年02月16日
    浏览(48)
  • keil5版本时“error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.”

    前言:在使用keil 5版本时,创建工程后稍不留神会出现问题“.Objectsproject.sct(7): error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.”     保姆教程!! 问题描述: 出现下类问题,无疑是指你的启动文件不止一个,例如“startup_stm32f10x_md.s”,就是创建工程时,

    2024年02月16日
    浏览(39)
  • ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.al

    这个错误通常发生在你在使用numpy数组作为if语句的条件时。在这种情况下,Python会尝试使用该数组中的所有元素来确定if语句的真假。由于numpy数组可能包含多个元素,因此Python会抛出ValueError错误,因为它不知道如何处理多个元素的数组。 解决方法就是使用 a.all() or a.any() 替

    2024年02月16日
    浏览(46)
  • 【Tomcat】:One or more listeners failed to start.报错解决方案

    具体就是web.xml此配置报错: 服务器启动错误Tomcat:One or more listeners failed to start.报错解决方案 IDEA:在使用IDEA运行SSM项目的时候 , Tomcat运行失败 , 出现好几次 , 具体报错\\\"One or more listeners failed to start. Full details will be found in the appropriate container log file\\\" 具体有一下几种解决方案: 法

    2024年02月19日
    浏览(55)
  • Expected one result (or null) to be returned by selectOne(), but found: 3报错解决方案

    Expected one result (or null) to be returned by selectOne(), but found: 3 Expected one result (or null) to be returned by selectOne(), but found: 3 意思是“期望selectOne()返回一个结果(或null),但发现3个”这说明你的返回结果有三个对象,但是selectOne只能返回一个。 第一种方案:可以把selectOne更换为selectList,

    2023年04月13日
    浏览(43)
  • Centos 报错 Repository extras is listed more than once in the configuration

    使用 yum update -y 报错 Repository extras is listed more than once in the configuration 2020 年 12 月 8 号,CentOS 官方宣布了停止维护 CentOS Linux 的计划,并推出了 CentOS Stream 项目,CentOS Linux 8 作为 RHEL 8 的复刻版本,生命周期缩短,于 2021 年 12 月 31 日停止更新并停止维护(EOL),更多的信息可

    2024年02月12日
    浏览(36)
  • ES5节点假死,内核日志报INFO: task blocked for more than 120 seconds.

    es集群里有一台机器,突然cpu load飙到 21左右(8core cpu),但是cpu使用率会变成0,且同时io 等使用率全部变为0.这种状态不可以自己恢复,除非重启。es没有判断出节点有问题,整个集群不可以访问,所有操作都超时,包括cat集群信息等接口,直到重启机器。这种情况下节点已

    2024年02月06日
    浏览(41)
  • Repository docker-ce-test is listed more than once in the configuration

    这个消息表明,在你的 CentOS 系统的 YUM 软件源配置中, docker-ce-stable 、 docker-ce-stable-source 和 docker-ce-test 这几个仓库被列出了多次。这通常发生在 /etc/yum.repos.d/ 目录下的 YUM 配置文件中,相同的仓库被重复添加。 这种情况可能不会直接影响你安装软件包的能力,但它可能导致

    2024年01月21日
    浏览(34)
  • RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface

    使用 matplotlib 绘制多幅图出现如下问题 RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface ( matplotlib.pyplot.figure ) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam figure.max_open_warning). fig, ax = plt.subplots(figsize=(10, 10)) 。

    2024年02月13日
    浏览(44)
  • LeetCode --- 1869. Longer Contiguous Segments of Ones than Zeros 解题报告

    Given a binary string  s , return  true  if the  longest  contiguous segment of  1 \\\' s is  strictly longer  than the  longest  contiguous segment of  0 \\\' s in  s , or return  false  otherwise . For example, in  s = \\\" 11 01 000 10\\\"  the longest continuous segment of  1 s has length  2 , and the longest continuous segment of  0 s has length 

    2024年02月15日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包