Gregory Stark wrote:
> I thought
> we only pruned when we wanted to insert a new tuple and found not enough
> space.
Nope, we prune on any access to the page, if the page is "full enough",
and the pd_prune_xid field suggests that there is something to prune.
The problem with only pruning on inserts is that by the time we get to
heap_insert/heap_update, we're already holding a pin on the page, which
prevents us from acquiring the vacuum lock.
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com