实时显示溢出到磁盘的查询

问题描述 投票:0回答:1

我被要求编写一个查询来显示当前溢出到磁盘的查询(即创建临时文件,因为它们已经用完了 work_mem),以便可以终止查询。

我看不到实时监控的方法。我们启用了

pg_stat_statements
,我查询了
pg_stat_database
,并且我知道可以使用
log_temp_files
设置将其记录在 postgres 日志中。然而,这些似乎都不能满足此要求,因为它们都显示累积统计信息或日志仅在查询完成时写入日志条目。

是否可以显示当前正在运行并写入临时文件的查询列表?

(我知道处理这个长期问题的最佳方法是优化查询、整体调整 work_mem、仅针对有问题的查询调整 work_mem 等。但是我的老板想要对此采取更快的权宜措施在进入下一步(减少写入临时文件的查询数量)之前监视和查询终止方法。

postgresql performance monitoring
1个回答
0
投票

没有必要明确删除此类语句。只需在 PostgreSQL 配置中设置

temp_file_limit = 0
,PostgreSQL 将自动取消使用临时文件的查询。

© www.soinside.com 2019 - 2024. All rights reserved.