Re: How much space do database objects take up in data files

Поиск
Список
Период
Сортировка
От Jeff Frost
Тема Re: How much space do database objects take up in data files
Дата
Msg-id Pine.LNX.4.64.0802131222500.5521@discord.home.frostconsultingllc.com
обсуждение исходный текст
Ответ на Re: How much space do database objects take up in data files  (Carol Walter <walterc@indiana.edu>)
Ответы Re: How much space do database objects take up in data files  ("Peter Kovacs" <maxottovonstirlitz@gmail.com>)
Re: How much space do database objects take up in data files  ("Peter Kovacs" <peter.kovacs.1.0rc@gmail.com>)
Список pgsql-admin
On Wed, 13 Feb 2008, Carol Walter wrote:

> I've struggled with this one too.  You can get the size of databases with
> SELECT pg_database_size('database name');  You can get the size of tables
> with SELECT pg_relation_size('table name');
>
> Carol
> On Feb 13, 2008, at 1:43 PM, Peter Kovacs wrote:
>
>> Hi,
>>
>> How can I find out how much space is taken up by database objects in data
>> files?

Give this query a try.  It's a variation of one posted on this list some time
ago.  Unfortunately, I'm not sure who to credit for the original post.  This
one takes into account index and toast size and sorts descending by totalsize.

SELECT nspname, relname,
     pg_size_pretty(tablesize+indexsize+toastsize+toastindexsize) AS totalsize
FROM
(SELECT ns.nspname, cl.relname, pg_relation_size(cl.oid) AS tablesize,
         COALESCE((SELECT SUM(pg_relation_size(indexrelid))::bigint
                   FROM pg_index WHERE cl.oid=indrelid), 0) AS indexsize,
         CASE WHEN reltoastrelid=0 THEN 0
              ELSE pg_relation_size(reltoastrelid)
         END AS toastsize,
         CASE WHEN reltoastrelid=0 THEN 0
              ELSE pg_relation_size((SELECT reltoastidxid FROM pg_class ct
                                     WHERE ct.oid = cl.reltoastrelid))
         END AS toastindexsize
  FROM pg_class cl, pg_namespace ns
  WHERE cl.relnamespace = ns.oid
  AND ns.nspname NOT IN ('pg_catalog', 'information_schema')
  AND  cl.relname IN
    (SELECT table_name FROM information_schema.tables
     WHERE table_type = 'BASE TABLE')) ss
     ORDER BY tablesize+indexsize+toastsize+toastindexsize DESC;



--
Jeff Frost, Owner     <jeff@frostconsultingllc.com>
Frost Consulting, LLC     http://www.frostconsultingllc.com/
Phone: 650-780-7908    FAX: 650-649-1954

В списке pgsql-admin по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: CONTEXT messages for raise EXCEPTION
Следующее
От: "Thomas F. O'Connell"
Дата:
Сообщение: Block Read Error: Success?