On Thu, Mar 23, 2017 at 1:54 PM, Ashutosh Sharma <ashu.coek88@gmail.com> wrote:
>> Yeah, but I think "unused" might be better. Because a page could be
>> in use (as an overflow page or primary bucket page) and still be
>> empty.
>
> Based on the earlier discussions, I have prepared a patch that would
> allow pgstathashindex() to show the number of unused pages in hash
> index. Please find the attached patch for the same. Thanks.
My idea is that we shouldn't end up with both a zero_pages column and
an unused_pages column. Instead, we should end up with just an
unused_pages column, which will include both pages that are all-zeroes
and pages that have a valid special space marked as LH_UNUSED.
Also, I don't see why it's correct to test PageIsEmpty() here instead
of just testing the page type as we do in pageinspect.
Attached is a revised patch that shows what I have in mind; please
review. Along the way I made the code for examining the page type
more similar to what pageinspect does, because I see no reason for
those things to be different, and I think the pageinspect code is
better.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company