3

我正在运行 PostgresSQL 8.3.3。每天晚上都会对数据库执行一次真空分析。每张桌子大约需要 5 分钟才能完成(大或小)。最初,该过程花费了现在的 1/3。在执行真空时,其他数据仍在通过 .net windows 服务插入。该服务最近开始记录连接超时。

有没有办法找出导致真空分析运行缓慢和/或导致超时的原因?我怀疑他们是相关的。

4

1 回答 1

4

好吧,版本 8.3 已停产,所以无论如何您都希望在方便的时候尽快升级。

据我从文档中可以看出,该版本确实支持 autovacuum,如果配置正确,应该可以控制一切。但是,突发活动和/或索引膨胀可能会给您带来一些问题。

最简单的解决方案是转储数据库并恢复。如果您有时间这样做,它将在该过程中打包整个数据库。然后,对表/索引大小进行一些定期(每天/每周)监控。还添加了对机器上一般活动的一些基本监控(cpu/内存/磁盘)。

如果需要,您可以使用REINDEXCLUSTER采取纠正措施。

如果你一次在一张表上运行VACUUM VERBOSE,你会看到一些关于哪些磁盘页面被使用/可以被释放/不能被释放的统计信息。如果有问题应该很明显。

最后,一定要花时间在方便的时候计划升级。最新版本是 9.2,包含许多性能和管理改进。

于 2013-06-05T12:52:29.227 回答