Postgresql 如何判断我的PGSQL数据库是否在Windows Server 2003上运行autovacuum?

Postgresql 如何判断我的PGSQL数据库是否在Windows Server 2003上运行autovacuum?,postgresql,autovacuum,Postgresql,Autovacuum,在8.x之前的日子里,我在Linux上运行了许多PGSQL数据库,并通过维护脚本显式地清理了数据库 当8.x出现时,我没有在这些系统上使用autovacuum,因为它工作正常,所以不需要改变任何东西。所以我不是一个自动真空专家 现在,在后8.x时代,我发现自己拥有一些运行在WindowsServer2003或更高版本上的PGSQL数据库 看起来autovacuum应该正在运行,因为我们按照说明操作,并在.conf文件中保持打开状态 然而,将PGAdmin连接到数据库会提示我们应该运行VACUUM

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

当8.x出现时,我没有在这些系统上使用autovacuum,因为它工作正常,所以不需要改变任何东西。所以我不是一个自动真空专家

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

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

然而,将PGAdmin连接到数据库会提示我们应该运行VACUUM


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

pg_stat_user_表中有列列出了上次在表上运行autovacuum和AutoAnalysis的时间-这是一个很好的起点。当然,日志文件将包含有关autovacuum正在执行的操作的信息


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

Ah。太好了,看起来很有希望。我将在该表和日志文件中浏览一下,并适当地推广此答案。有关特定于UNIX的答案,请参阅。