首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何像在wait_timeout中一样在postgresql中设置“MySQL”值?

问如何像在wait_timeout中一样在postgresql中设置“MySQL”值?
EN

Stack Overflow用户
提问于 2019-05-28 07:45:42
回答 1查看 6.1K关注 0票数 6

我使用Postgresql(9.6.3),需要为Wait_timeout变量设置值。但是,我没有找到与此相关的任何答案,也找不到任何可用于Postgresql而不是MySQL中的MySQL变量的等效变量。

代码语言:javascript
复制
     long wait_time = 0;
     ResultSet rs = null;
     try {
        Statement st = con.createStatement();
        rs = st.executeQuery("show variables like 'wait_timeout'");
        if(rs.next())
            wait_time = rs.getLong("Value");
        rs.close();
    } catch (SQLException e) {
        logger.error(e);
    }        
// wait time in SQl is maintained in seconds whereas here we need 
milliseconds
     return (wait_time*1000)/2;

执行查询后,我将在resultSet变量中获得null值。我已经找到了一个名为Statement_timeout的变量,但我不知道它是否等效,因为它可能会影响所有其他会话,因为wait_timeout在MySQL中没有这样做。请给我一个更好的解决方案。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-05-28 08:22:50

MySQL实现了很多超时(https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html)。

MySQL有:

  • wait_timeout -服务器在非交互式连接上等待活动的秒数,然后关闭它。默认值28800 s=8小时。
  • 类似的是"interactive_timeout“--服务器在关闭交互连接之前等待活动的秒数。

PostgreSQL目前有:

  • "statement_timeout“-从命令从客户端到达服务器的时间开始,中止任何花费超过指定毫秒数的语句。
  • "idle_in_transaction_session_timeout“-使用已空闲超过指定持续时间(毫秒)的打开事务终止任何会话。

(https://www.postgresql.org/docs/11/runtime-config-client.html)

例如,参见这里- https://dba.stackexchange.com/questions/164419/is-it-possible-to-limit-timeout-on-postgres-server

老实说,到目前为止,除了“MySQL”之外,我不需要在connect_timeout中篡改这些超时。所以我不能给你直接的建议。但也许"idle_in_transaction_session_timeout“才是你所需要的。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56337335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档