‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Tuesday, 8 September 2020 16:49, John Naylor <john.nay...@2ndquadrant.com> 
wrote:

> On Thu, Aug 27, 2020 at 9:39 AM gkokola...@pm.me wrote:
>
> > Hi all,
> > this minor patch is attempting to force the use of the tableam api in 
> > dbsize where ever it is required.
> > Apparently something similar was introduced for toast relations only. 
> > Intuitively it seems that the distinction between a table and a toast table 
> > is not needed.
>
> I suspect the reason is found in the comment for table_block_relation_size():
>
> -   If a table AM uses the various relation forks as the sole place where data
> -   is stored, and if it uses them in the expected manner (e.g. the actual 
> data
> -   is in the main fork rather than some other), it can use this 
> implementation
> -   of the relation_size callback rather than implementing its own.


Thank you for your answer and interest at the patch.

I agree with the comment above. However I do not see why it is relevant here. 
When issuing:

SELECT pg_table_size('foo'::regclass);

I should not have to care about the on disk layout of the relation 'foo'.
Without this patch, one will get a correct result only when 'foo' is a heap 
table.
For custom layouts the result can potentially be wrong.



>
>     --
>     John Naylor https://www.2ndQuadrant.com/
>     PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>




Reply via email to