在Mybatis中,映射器文件有一个属性timeout
,但会抛出异常。
Cause: org.postgresql.util.PSQLException: Method org.postgresql.jdbc4.Jdbc4PreparedStatement.setQueryTimeout(int) is not yet implemented.
uncategorized SQLException for SQL []; SQL state [0A000]; error code [0]; Method org.postgresql.jdbc4.Jdbc4PreparedStatement.setQueryTimeout(int) is not yet implemented.; nested exception is org.postgresql.util.PSQLException: Method org.postgresql.jdbc4.Jdbc4PreparedStatement.setQueryTimeout(int) is not yet implemented.
........
答案 0 :(得分:0)
PostgreSQL当前不支持服务器级别的查询超时。所以PgJDBC很难在客户端实现它们,尽管我认为当前的PgJDBC版本使用statement_timeout
来模拟它。
无论如何,如果更新到最新的PgJDBC(你没有指定你的版本)没有帮助,你需要做的是SET statement_timeout
你的查询之前,然后重置它查询。只需执行:
SET statement_timeout = '5s';
查询前的或其他任何内容。如果您在已经打开的事务中运行它,则可以使用SET LOCAL
来设置事务范围。