【问题标题】:How can I tell if autovacuum is running on Windows Server 2003 for my PGSQL database?如何判断 autovacuum 是否在 Windows Server 2003 上为我的 PGSQL 数据库运行?
【发布时间】:2010-01-08 10:56:37
【问题描述】:

在 8.x 之前的日子里,我在 Linux 上运行了许多 PGSQL 数据库,并通过维护脚本明确地清理了数据库。

当 8.x 出现时,我没有在这些系统上使用 autovacuum,因为它工作正常,因此无需更改任何内容。所以我不是自动真空专家。

现在在后 8.x 时代,我发现自己有一些在 Windows Server 2003 或更高版本上运行的 PGSQL 数据库。

看起来 autovacuum 应该正在运行,因为我们已按照说明操作并在 .conf 文件中将其保持开启状态。

但是,将 PGAdmin 连接到数据库会提示我们应该运行 VACUUM。

您如何判断 autovacuum 守护程序是否正在运行并在照看您的数据库并正确清理它们?

【问题讨论】:

标签: postgresql autovacuum


【解决方案1】:

pg_stat_user_tables 中有一些列列出了上次自动清空和自动分析在表上运行的时间 - 这是一个很好的起点。当然,日志文件将包含有关 autovacuum 正在做什么的信息。

您可以使用 Process Explorer 之类的工具专门查看 postgres.exe 进程。将有一个专门命名的互斥锁来模拟 Unix 上可用的 ps 命令行信息。应该很容易找到。您可以搜索“autovacuum”以确保它正在运行。

【讨论】:

  • 啊。太好了,看起来很有希望。我将在该表和日志文件中四处寻找,并适当地宣传这个答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-25
  • 2014-10-26
  • 2015-09-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多