Re: explaining the pg_total_relation_size/pg_relation_size results

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Wells Oliver <wells(dot)oliver(at)gmail(dot)com>
Cc: pgsql-admin <pgsql-admin(at)postgresql(dot)org>
Subject: Re: explaining the pg_total_relation_size/pg_relation_size results
Date: 2018-06-20 22:42:03
Message-ID: 20180620224203.fqlzl2d3dhvcbe7q@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

On 2018-Jun-20, Wells Oliver wrote:

> I have the follwing in a view to glance at the size of my relations:
>
> pg_size_pretty(pg_relation_size(c.oid::regclass)) AS size,
> pg_total_relation_size(c.oid::regclass) AS bytes
>
> This view sorts by pg_relation_size(c.oid::regclass) descending.
>
> The question is: the byte values are often higher for relations with a
> lower size indicated by size. As I sit here, I see an 11GB table
> of 23821893632 bytes and a 12GB table of 14545387520 bytes, and
> lastly/weirdly, a 3194MB table of 19924844544 bytes.

This is a strange question. pg_total_relation_size includes the size of
indexes and toast table and index, which pg_relation_size does not, so
it seems natural that they give wildly different results for differently
shaped tables.

--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message David G. Johnston 2018-06-20 22:44:48 Re: explaining the pg_total_relation_size/pg_relation_size results
Previous Message Wells Oliver 2018-06-20 22:26:07 explaining the pg_total_relation_size/pg_relation_size results