> What if we drove it off of the PD_ALL_VISIBLE bit on the page itself, > rather than the visibility map bit? It would be safe to clear the > visibility map bit without touching the page, but if you clear the > PD_ALL_VISIBLE bit on the page itself then you set all the hint bits > and freeze all the tuples. In the case where the visibility map bit > gets cleared but the page-level bit is still set, a future vacuum can > notice and reset the visibility map bit. But whenever the visibility > map bit is set, you know that the page-level bit MUST be set, so you > needn't vacuum those pages, even for anti-wraparound: you know they'll > be frozen when and if they ever get written again.
How does that get us out of reading and writing old pages, though? If we're going to set a bit on them, we might as well freeze them. -- -- Josh Berkus PostgreSQL Experts Inc. http://www.pgexperts.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers