"Dave Page" <dpage@vale-housing.co.uk> writes:
> Thanks Michael. We have 2 functions - 1 returns the on disk size of a
> table or index without any additional parts such as indexes or toast
> tables. The other function returns the total on disk size of a table and
> all associated indexes and toast tables (and any indexes they might
> have). The current names are pg_relation_size() for the first function,
> and pg_table_size() for the second.

That seems to me to work perfectly fine.  "Relation" is being used here
in its PG-jargon sense, that is an object described by one row of
pg_class, and "table" is being used from the user's point of view.

Or at least sort of --- I think most users know enough to distinguish
tables and indexes.  We can figure that the toast table and its index
ought to be considered part of the "base" table, though, since the
user doesn't have a choice about those.

I've not been following the thread closely, so maybe this was already
proposed and rejected, but what about:

        pg_relation_size: size of exactly the relation you point it at
                        (table, index, toast table, whatever)

        pg_table_size: point it at heap, get size of heap+toast+toast_index

        pg_index_size: point it at heap, get size of all indexes for heap
                        (excludes toast index)

        pg_total_size: point it at heap, get table_size + index_size

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to [EMAIL PROTECTED] so that your
       message can get through to the mailing list cleanly

Reply via email to