Re: [HACKERS] pgstattuple documentation clarification
От | Andrew Dunstan |
---|---|
Тема | Re: [HACKERS] pgstattuple documentation clarification |
Дата | |
Msg-id | 57f4e886-92f3-8440-59c5-47a2ae9d818d@dunslane.net обсуждение исходный текст |
Ответ на | Re: [HACKERS] pgstattuple documentation clarification (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: [HACKERS] pgstattuple documentation clarification
|
Список | pgsql-hackers |
On 12/20/2016 11:41 PM, Robert Haas wrote: > On Tue, Dec 20, 2016 at 10:01 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> Andrew Dunstan <andrew@dunslane.net> writes: >>> Recently a client was confused because there was a substantial >>> difference between the reported table_len of a table and the sum of the >>> corresponding tuple_len, dead_tuple_len and free_space. The docs are >>> fairly silent on this point, and I agree that in the absence of >>> explanation it is confusing, so I propose that we add a clarification >>> note along the lines of: >>> The table_len will always be greater than the sum of the tuple_len, >>> dead_tuple_len and free_space. The difference is accounted for by >>> page overhead and space that is not free but cannot be attributed to >>> any particular tuple. >>> Or perhaps we should be more explicit and refer to the item pointers on >>> the page. >> I find "not free but cannot be attributed to any particular tuple" >> to be entirely useless weasel wording, not to mention wrong with >> respect to item pointers in particular. >> >> Perhaps we should start counting the item pointers in tuple_len. >> We'd still have to explain about page header overhead, but that >> would be a pretty small and fixed-size discrepancy. > It's pretty weird to count unused or dead line pointers as part of > tuple_len, and it would screw things up for anybody trying to > calculate the average width of their tuples, which is an entirely > reasonable thing to want to do. I think if we're going to count item > pointers as anything, it needs to be some new category -- either item > pointers specifically, or an "other stuff" bucket. > Yes, I agree. In any case, before we change anything can we agree on a description of what we currently do? Here's a second attempt: The table_len will always be greater than the sum of the tuple_len, dead_tuple_len and free_space. The difference isaccounted for by fixed page overhead, the per-page table of pointers to tuples, and padding to ensure that tuples arecorrectly aligned. I don't think any of that is weaselish :-) cheers andrew
В списке pgsql-hackers по дате отправления: