Ale*_*pov 2 sql postgresql performance system
我正在使用Ubuntu上的Postgres开发Rails应用程序.不幸的是,这个遗留应用程序在数据库中使用了一些重量级的存储过程.更重要的是,数据库非常大(5GB),我的电脑也不是特别快.时不时地,如果我将一些不良参数从我的代码传递到数据库,我的计算机变得非常慢到我无法进入控制台并杀死postgres进程的程度.我假设,这是由于一些非常昂贵的数据库查询.我唯一的解决方案是硬重置我的笔记本电脑.所以我的问题是 - 有没有办法强行杀死一个长期的查询?或者,有没有办法限制数据库允许使用的CPU和RAM,这样我还有一些资源可以去手动重启postgres?
您可以使用statement_timeout配置选项设置语句的最长时间:
从命令从客户端到达服务器的时间开始,中止任何超过指定毫秒数的语句.如果
log_min_error_statement设置为ERROR或更低,则还将记录超时的语句.值为零(默认值)将其关闭.
您可以通过多种方式设置此选项,例如postgresql.conf适用于每个人,使用SET命令的每个会话,甚至每个数据库或每个角色.有关设置选项的更多信息,请参阅文档.
| 归档时间: |
|
| 查看次数: |
450 次 |
| 最近记录: |