系统偶尔出现column XX does not exist异常,需重启应用才能恢复?报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

系统偶尔出现column XX does not exist异常,需重启应用才能恢复?报错

爱吃鱼的程序员 2020-06-10 13:26:12 53

系统现在遇到一个BUG无处下手:在运行一段时间后,会出现 column XX does not exist at character 这样的异常,而这个字段一般来说都是外键,重启应用就恢复了(在我迁移系统和数据库后才发生)

首先这个字段一定是存在的,系统大概在运行一周后开始偶尔出现这个问题,比如一个查询功能,连续刷新10几次,可能就会出现2到3次这个错误,用的时间越长,出现的频率也越高了,这个错误日志在postgres数据库日志中也能看到,但是我直接把SQL复制到客户端运行,不管怎么样都不会报错,于是我试着重启了数据库,问题依旧没有解决,这是否说明不是数据库的问题呢(从本机连数据库也不会报错)?

重启应用,问题立马解决,但是应用的问题,为什么会直接导致数据库执行查询时提示存在的字段找不到呢?

我系统用的是spring mvc + hibernate,最开始用的是oracle数据库,后来数据库和应用都迁移到我租的一台云主机上面去,因为没有oracle数据库,所以我选了一个类似的postgres,把数据迁移过去并修改相关应用

在我搬迁应用和数据库之前,系统运行了大概1年,从未出现过这个问题,搬迁后大概1周就出现一次,数据库在迁移过程中有出现过卡死不动的情况(客户端导入的),但是我最后检查数据并未缺失.

云主机比较差,只有4G内存,8核CPU,安装了postgres,mysql,svn,apache,tomcat,php,sftp,大概这些软件

但是出问题的时候,并没有看到程序占了很大的内存,cpu也正常

现在这个问题感觉根本无处下手,不知道从哪去看问题,有没有高手遇到过这种情况?或者麻烦大神门给个排查的方向,我现在只能晚上偷偷摸摸重启下应用了

Oracle 前端开发 关系型数据库 Java MySQL 应用服务中间件 Apache PHP 数据库 Spring
分享到
取消 提交回答
全部回答(1)
  • 爱吃鱼的程序员
    2020-06-10 13:26:31

    都没人遇到过么...给个排查的建议也行

    你说来说去,关键点却没说清楚,虽然字数很多,但大体在描述一些无关紧要的东西,很难从这些看出来是什么问题!~

    <spanstyle="font-size:13.3333px;">关键的东西是~~~~~

    <spanstyle="font-size:13.3333px;">错误日志!!!

    代码!!!

    回复<aclass='referer'target='_blank'>@Sel8616:不是这个问题,我查询出来没有结果也会报错,而且,报错日志是直接出现在了数据库的日志里面,根本还没到封装数据这个层面回复<aclass='referer'target=' blank'>@zhufengwnsh2:看样子不是查询过程中的错误,猜测是工具类封装查询结果时忽略了空值,当从结果中取channels属性时,目标不存在。数据库和应用的错误日志差不多:org.postgresql.util.PSQLException:ERROR:columnmerchantlo0.channelsdoesnotexist程序就一个简单的HQL查询,一样的功能和条件,不是每次都错,偶尔会错一次还有,网上有建议使用PG时,sql中的字段名最好用双引号括起来,不能有多余的空格

    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题