On Tue, Nov 30, 2010 at 11:55 AM, Tom Lane <t...@sss.pgh.pa.us> wrote: > Heikki Linnakangas <heikki.linnakan...@enterprisedb.com> writes: >> Can we get away with not setting the LSN on the heap page, even though >> we set the PD_ALL_VISIBLE flag? If we don't set the LSN, the heap page >> can be flushed to disk before the WAL record, but I think that's fine >> because it's OK to have the flag set in the heap page even if the VM bit >> is not set. > > Why is that fine? It's certainly not fine from the standpoint of > someone wondering why his index-only scan performs so badly. > > I think all this hair-splitting about cases where it's okay to have one > bit set and not the other is misguided. To me, crash-safety of the VM > means that its copy of the page-header bit is right. Period. Yes, it > will cost something to ensure that; so what? If we don't get more than > enough compensating performance gain from index-only scans, the whole > patch is going to end up reverted.
We're not going to double the cost of VACUUM to get index-only scans. And that's exactly what will happen if you do full-page writes of every heap page to set a single bit. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers