并行执行VACUUM

问题描述

在我的应用程序 n 中,微服务在 m 节点上运行。每个微服务都有其自己的数据库,并负责不时发布VACUUM ANALYZE

由于对于每个微服务来说,此日常作业的调度是相同的,所以在我的幼稚实现中,我有 m 个相同微服务的实例同时执行VACUUM ANALYZE命令。 / p>

这会带来问题吗?

我猜不是,因为PostgreSQL将检测并行调用并优雅地处理这种情况。但我想确定。

解决方法

否,您最终可能会同时运行多个VACUUM进程,这可能对整体性能不利。

更好的解决方案是让autovacuum处理此问题。参数autovacuum_max_workers限制了可以在单个PostgreSQL集群中同时运行的自动清理工作程序的数量。

适当调整自动真空,然后它应根据需要的频率和速度运行。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...