Hiya, I've been attempting to figure out if the autovacuum/vacuum process will use pgclass.relallvisible when vacuuming a table to know if it's able to skip freezing at all. Basically we have tables that this query: ``` SELECT c.oid::regclass as table_name, greatest(age(c.relfrozenxid),age(t.relfrozenxid)) as age FROM pg_class c LEFT JOIN pg_class t ON c.reltoastrelid = t.oid WHERE c.relkind IN ('r', 'm') ORDER BY age DESC ``` returns the age as greater than 'autovacuum_freeze_max_age' which was making us believe that autovacuum wasn't running. When we looked into the actual rows with: ``` SELECT t_infomask::bit(16) as bits, t_infomask::bit(16) & (x'0100' | x'0200') as isFrozen FROM heap_page_items(get_raw_page('tablename', 0)) ``` we could see that it looks like all the rows in the table are frozen; so it would never need a vacuum! I don't understand how the autovacuum knows that it can skip that table without looking at all the rows, which is the process of vacuuming that table! Much appreciated if someone can clean up my understanding. Thanks, -- Rob <> Codeweavers --