Re: pg_freespacemap question

Mark Kirkwood <markir@paradise.net.nz>

From: Mark Kirkwood <markir@paradise.net.nz>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Tatsuo Ishii <ishii@sraoss.co.jp>, alvherre@commandprompt.com, peter_e@gmx.net, pgsql-hackers@postgresql.org, pgsql-patches@postgresql.org
Date: 2006-03-09T04:12:26Z
Lists: pgsql-hackers

Attachments

Tom Lane wrote:
> Mark Kirkwood <markir@paradise.net.nz> writes:
> 
>>>Good points! I had not noticed this test case. Probably NULL is better 
> 
> 
>>Would setting it to 'BLCKSZ - (fixed index header stuff)' be better, 
> 
> 
> No, I don't think so, because that will just make it harder to recognize
> what's what (remember that BLCKSZ isn't really a constant, and the index
> overhead is not the same for all AMs either).  The point here is that
> for indexes the FSM tracks whole-page availability, not the amount of
> free space within pages.  So I think NULL is a reasonable representation
> of that.  Using NULL will make it easy to filter the results if you want
> to see only heap-page data or only index-page data, whereas it will be
> very hard to do that if the view adopts an ultimately-artificial
> convention about the amount of available space on an index page.
> 

Right - after suggesting it I realized that coding the different index
overhead for each possible AM would have been ... difficult :-). A patch
is attached to implement the NULL free bytes and other recommendations:

1/ Index free bytes set to NULL
2/ Comment added to the README briefly mentioning the index business
3/ Columns reordered more logically
4/ 'Blockid' column removed
5/ Free bytes column renamed to just 'bytes' instead of 'blockfreebytes'

Now 5/ was only hinted at, but seemed worth doing while I was there
(hopefully I haven't made it too terse now....).

cheers

Mark