On 04.12.2010 09:14, jes...@krogh.cc wrote:
There has been a lot discussion about index-only scans and how to make the 
visibillity map crash safe. Then followed by a good discussion about hint bits.

What seems to be the main concern is the added wal volume and it makes me 
wonder if there is a way in-between that looks more like hint bits.

How about lazily wal-log the complete visibility map say every X minutes or N 
amount of tuple updates and make the wal recovery jobs of rechecking visibility 
of pages touched by the wal stream on recovery.

If you WAL-log the visibility map changes after-the-fact, it doesn't solve the race condition we're struggling with: the visibility map change might hit the disk before the PD_ALL_VISIBLE to the heap page. If you crash, you can end up with a situation where the PD_ALL_VISIBLE flag on the heap page is not set, but the bit in the visibility map is. Which causes serious issues later on.

--
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to