
Why Isn't Autovacuum Keeping Up? The Vacuum Advisor and the xmin Horizon
When a table keeps growing while autovacuum is running, the cause is usually one of three things: the table's own storage parameters moved its trigger point, cleanup runs too rarely for the churn, or something is holding the transaction horizon so no vacuum can remove dead rows. The Vacuum Advisor recomputes each table's trigger point from its effective settings, estimates avoidable growth with pgstattuple, names whatever is holding the xmin horizon with the command that releases it, and tracks transaction-ID age against the wraparound limit. Part three of four on the advisory features in the PostgreSQL Plug-in for Oracle Enterprise Manager.


