‐‐‐‐‐‐‐ 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
>