PG执行动态sql报错
org.postgresql.util.PSQLException: ERROR: prepared statement “S_2” does not exist
由于最近在执行动态sql时候 pg在晚上使用高峰的时候是不是包这个错;
但是检查sql没有问题,pg的连接也是没有问题 这个是执行动态SQL一个小错误,
在执行PreparedStatement时候由于客户端会编译并缓存preparestatement的执行计划,所以当内存中存在比较大的SQL的时候 有些SQL就由于内存负载过高被清除掉了,然后再次执行SQL就会报错。
解决方法:
在jdbc连接方式上加上参数prepareThreshold=0 就可以了。这样SQL就会每次重新解析。
String url = “jdbc:postgresql://localhost:5432/postgres?prepareThreshold=3” ;
PG执行动态sql报错
最新推荐文章于 2023-03-12 12:48:16 发布