pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
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



view thread (4+ messages)

Message-ID: <20030928035313.B77510@memo.frmug.org>
Permalink:  ../20030928035313.B77510@memo.frmug.org/
Also on:    postgresql.org/message-id/20030928035313.B77510@memo.frmug.org

 · 

reply

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