系统现在遇到一个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也正常
现在这个问题感觉根本无处下手,不知道从哪去看问题,有没有高手遇到过这种情况?或者麻烦大神门给个排查的方向,我现在只能晚上偷偷摸摸重启下应用了
都没人遇到过么...给个排查的建议也行
你说来说去,关键点却没说清楚,虽然字数很多,但大体在描述一些无关紧要的东西,很难从这些看出来是什么问题!~
<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中的字段名最好用双引号括起来,不能有多余的空格版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。