From: Bertrand Petit <pgsql-sql@phoe.frmug.org>
To: PostgreSQL-sql <pgsql-sql@postgresql.org>
Subject: Re: pg_class.relpages
Date: Sun, 28 Sep 2003 03:53:13 +0200
Message-ID: <20030928035313.B77510@memo.frmug.org> (raw)
In-Reply-To: <200309280026.h8S0QGh27132@candle.pha.pa.us>
References: <20030928021738.A76959@memo.frmug.org>
<200309280026.h8S0QGh27132@candle.pha.pa.us>
On Sat, Sep 27, 2003 at 08:26:16PM -0400, Bruce Momjian wrote:
> Bertrand Petit wrote:
> >
> > Does the figures stored in pg_class.relpages include the pages
> > consumed by the toast tables linked to a normal table?
>
> No. See the chapter on monitoring disk space for more information.
Okay. I eventually wrote the following query that lists tables
and indices sizes. A view similar to this query might my useful for
the general public if defined in the information schema.
SELECT pg_namespace.nspname AS schema,
COALESCE((SELECT class3.relname
FROM pg_class AS class3, pg_index
WHERE class1.oid=pg_index.indexrelid AND
class3.oid=pg_index.indrelid),
class1.relname) AS table,
CASE
WHEN class1.relkind='r' THEN NULL
ELSE class1.relname
END AS index,
(SELECT COALESCE(class1.relpages+SUM(class2.relpages),
class1.relpages) * 8
FROM pg_class AS class2
WHERE class2.oid IN (class1.reltoastrelid,
class1.reltoastidxid)) AS size
FROM pg_class AS class1, pg_namespace
WHERE class1.relnamespace = pg_namespace.oid AND
pg_namespace.nspname NOT IN ('pg_catalog',
'information_schema',
'pg_toast') AND
class1.relkind IN ('r', 'i')
ORDER BY class1.relnamespace ASC, class1.relname ASC,
class1.relkind DESC
--
%!PS
297.6 420.9 translate 90 rotate 0 setgray gsave 0 1 1{pop 0 180 moveto 100
180 170 100 170 -10 curveto 180 -9 180 -9 190 -10 curveto 190 100 100 180
0 180 curveto fill 180 rotate}for grestore/Bookman-LightItalic findfont
240 scalefont setfont -151.536392 -63.7998886 moveto (bp)show showpage
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: pgsql-sql@phoe.frmug.org
Subject: Re: pg_class.relpages
In-Reply-To: <20030928035313.B77510@memo.frmug.org>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox