我有几个postgres 8.3数据库,他们显示缺乏真空的症状。
我已经检查了configuration,并且它们处于启用autovacummer的默认状态。 另外,当我启动数据库时,我在postgres日志中看到“autovacuum launcher started”。
问题是,我从来没有真正看到真空运行。 我也从来没有看到关于真空发生日志中的任何东西(我应该看到什么?)
那我该如何判断这个真空吸尘器是否在工作? 有没有办法看到最后一个真空完成的时间? 更好的是,是否有一些文件可以让我指出这个问题的答案?
谢谢!
pg_stat_user_tables有last_autovacuum和last_autoanalyze列。 无论什么时候它们都会被更新。
在更高层次上, PgSnap是你的朋友;-)
这是最后一次真空报告的例子
Google是你的朋友,而www.postgresql.org甚至更大:
18.9。 自动吸尘
log_autovacuum_min_duration(整数)
如果autovacuum执行的每个操作至less运行了指定的毫秒数,则会被logging。 将其设置为零将logging所有autovacuum操作。 减号-1(默认值)禁用logging自动清理操作。 例如,如果将此设置为250ms,则将logging所有运行250ms或更长时间的自动真空和分析。 启用此参数可以有助于跟踪自动清理活动。 此设置只能在postgresql.conf文件或服务器命令行中设置。