如何从应用程序级别设置 postgres 查询执行超时?

Posted

技术标签:

【中文标题】如何从应用程序级别设置 postgres 查询执行超时?【英文标题】:How to set postgres query execution timeout from application level? 【发布时间】:2016-11-03 16:18:39 【问题描述】:

我正在用 php(使用 Laravel)创建一个 Web 应用程序,我想为 PostgreSQL 设置查询执行超时,但我无权访问服务器配置,所以有没有其他方法通过应用程序设置查询执行超时等级?

谢谢

【问题讨论】:

使用数据库级或用户级配置:1.ALTER DATABASE postgres SET statement_timeout='1s'; 2.ALTER ROLE postgres SET statement_timeout='1s'; 【参考方案1】:

只需发送以下语句:

set statement_timeout TO 100;

Postgresql 将取消所有超过 100 毫秒的查询。

【讨论】:

谢谢您的快速响应,是否有任何 PDO 配置或有什么方法可以在 laravel 中运行 init 查询?

以上是关于如何从应用程序级别设置 postgres 查询执行超时?的主要内容,如果未能解决你的问题,请参考以下文章

postgres:从带有参数的查询中获取可执行查询

从 postgres 日志中获取可执行查询

如何在 Diesel 中对 Postgres 数据库执行删除子查询?

我如何将Postgres DDL转储到可粘贴到Google表格中的CSV中?

是否可以在 Postgres 中执行并行查询,使用 union all 查询分区表?

优化 postgres 数据库和查询的不同步骤是啥?