我正在将一个旧环境迁移到一个更现代的软件堆栈,并且试图在这个过程继续的时候把我所能做的事情包装起来。
现在,我试图通过禁用autovacuum来防止数据库服务器崩溃(而是每晚运行一次全部负压,自动清理负载在高峰时段导致问题),并且在某种程度上没有做到。 我在postgresql.conf中closures了autovacuum = off并重新启动了postgres,但这似乎并没有办法。
我的制止措施是一个很小的时间来消灭autovacuum,但我无法想象这是健康的。
在postgresql.conf中将autovacuum设置为off,并通知服务器重新加载configuration,根据我的经验总是停止autovacuum。 例如,在进行大量数据库恢复时,我总是closuresautovacuum。
你在哪里改变configuration? 如果您在PGAdmin中这样做,请确保在发送信号给服务器以重新加载configuration之前保存了更改。
你有什么证据表明autovacuum还没有停止? 请确保刷新了pgAdmin中的任何屏幕,以便在进行更改时告诉您正在运行的进程。 有几次,我被PGAdmin抓到不自动刷新。
仔细检查你的实际postgresql.conf文件。 如果您正在Windows环境中运行,请尝试以pipe理员身份运行“重新加载configuration”。 尝试重新启动服务。
阅读日志文件。 在对configuration进行更改后重新启动服务或重新加载configuration时,是否在日志中反映了更改? 它应该是。
作为一个长期的努力,考虑升级到更新版本的PostgreSQL。 在8.1自动真空是非常新的; 在8.3以后,自动真空工作的方式有了明显的改进,减less了对数据库的影响。