Tatsuo Ishii wrote:
>>Peter Eisentraut wrote:
>>
>>>Am Dienstag, 7. März 2006 15:09 schrieb Tatsuo Ishii:
>>>
>>>>test=# select * from pg_freespacemap where blockfreebytes = 0;
>>>> blockid | relfilenode | reltablespace | reldatabase | relblocknumber | blockfreebytes
>>>>---------+-------------+---------------+-------------+----------------+----------------
>>>> 25 | 2619 | 1663 | 16403 | 0 | 0
>>>> 63 | 2619 | 1663 | 16384 | 10 | 0
>>>>(2 rows)
>>>
>>>I've never heard of this thing before but is this column order supposed to make sense?
>>
>>I have another question -- why is the view showing relfilenode and
>>reltablespace? I imagine it should be showing the relation Oid instead.
>
>
> I guess that's because FSM keeps those info, not relation oid.
>
>
>>And what is this "blockid" thing?
>
>
> from README.pg_freespacemap:
>
> blockid | | Id, 1.. max_fsm_pages
>
I put that in as a bit of a sanity check - to see if the view was
picking up all the fsm pages - guess it is a bit redundant now.
> BTW, I found the answer to my question myself by reading the source
> code: if that's an index, then blockfreebytes is explicitly set to 0.
> I suggest that this should be noted in the README and in this case
> blockfreebytes is better to set to NULL, rather than 0.
>
Good points! I had not noticed this test case. Probably NULL is better
than zero.
I'll look into making these changes! (good to see people checking the
view out).
Cheers
Mark