Heikki Linnakangas <[EMAIL PROTECTED]> writes: > At the end of the thread, Bruce added the patch to his hold-queue, but I > couldn't find a trace of it after that so I'm not clear why it was > rejected in the end. This comment (by you) seems most relevant:
I believe we concluded that the distributed cost of enlarging the page headers would probably outweigh a gain that seemed to have fairly narrow application. I wouldn't be surprised if the tradeoffs have changed since then, but I'm still loath to increase the overhead space. If we can do it without that, the argument to reject gets much weaker. As you say, pd_tli is not really pulling its weight, but I'm also loath to remove it, as in a multi-timeline situation the page LSN is really not well defined if you don't know which timeline it refers to. Now we'd only need 16 bits to store the last-used offset, or a flags field if you'd prefer that, so one possible compromise is to store only the 16 least significant bits of TLI (which ought to be enough to disambiguate in any real-world situation), and insert the new field where the MSBs had been. I'm not sure whether I like your flag approach better than the last-used-offset one. The previous patch probably buys some teeny amount more performance, but the flag seems more robust (noting in passing that neither patch attempts to WAL-log its changes, so we really need to treat the values as hints). And a change as sketched here would leave us 15 free bits for future expansion, which might be nice. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend