[HACKERS] free space map and visibility map - Mailing list pgsql-hackers

From Jeff Janes
Subject [HACKERS] free space map and visibility map
Date
Msg-id CAMkU=1wXkKUKBHWBYzET3D9OViyDg8DcVL-wKEqk2uyoMrzr_A@mail.gmail.com
Whole thread Raw
Responses Re: [HACKERS] free space map and visibility map  (Masahiko Sawada <sawada.mshk@gmail.com>)
List pgsql-hackers
With some intensive crash-recovery testing, I've run into a situation where I get some bad table bloat.  There will be large swaths of the table which are empty (all results from heap_page_items other than lp are either zero or NULL), but have zero available space in the fsm, and are marked as all-visible and all-frozen in the vm.  

I guess it is a result of a crash causing updates to the fsm to be lost. Then due to the (crash-recovered) visibility map showing them as all visible and all frozen, vacuum never touches the pages again, so the fsm never gets corrected.

'VACUUM (DISABLE_PAGE_SKIPPING) foo;'   does fix it, but that seems to be the only thing that will.

Is there a way to improve this, short of making updates to the fsm be a wal-logged operation?

It is probably not a very pressing issue, as crashes are normally pretty rare, I would hope.  But it seems worth improving if there is a good way to do so.

Cheers,

Jeff

pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: [HACKERS] <> join selectivity estimate question
Next
From: Ashutosh Sharma
Date:
Subject: Re: [HACKERS] pageinspect and hash indexes