Noah Misch <noah(at)leadboat(dot)com> writes:
> Just a suspicion ... when looking at the B-tree page reclamation algorithm, I
> had a thought that the logic in _bt_page_recyclable() was obsolete as of the
> introduction (in 8.3) of xid-free read-only transactions. A transaction
> without a persistent xid does not hold back RecentXmin, so how could waiting
> for a RecentXmin window to pass prove that no scan still holds a link to the
> page? Similarly, running VACUUMs do not hold back RecentXmin.
Uh, sure they do. It's their advertised snapshot xmin that counts, not
their own xid (if any).
regards, tom lane