Hi, On 2023-09-27 15:45:06 -0400, Robert Haas wrote: > > One big sticking point for me (brought up elsewhere in this thread, but, > > AFAICT never resolved) is that it seems like the fact that we mark pages > > all-visible even when not freezing them means that no matter what > > heuristic we use, we won't have the opportunity to freeze the pages we > > most want to freeze. > > The only solution to this problem that I can see is what Peter > proposed earlier: if we're not prepared to freeze the page, then don't > mark it all-visible either. This might be the right thing to do, and > if it is, we could even go further and get rid of the two as separate > concepts completely.
I suspect that medium term the better approach would be to be much more aggressive about setting all-visible, including as part of page-level visibility checks, and to deal with the concern of vacuum not processing such pages soon by not just looking at unmarked pages, but also a portion of the all-visible-but-not-frozen pages (the more all-visible-but-not-frozen pages there are, the more of them each vacuum should process). I think all-visible is too important for index only scans, for us to be able to remove it, or delay setting it until freezing makes sense. My confidence in my gut feeling isn't all that high here, though. > However, I think it would be OK to leave all of > that to one side for the moment, *especially* if we adopt some > proposal that does a lot more opportunistic freezing than we do > currently. Because then the problem just wouldn't come up nearly as > much as it does now. One patch can't fix everything, and shouldn't > try. Agreed. Greetings, Andres Freund