How much space do database objects take up in data files

How much space do database objects take up in data files

am 13.02.2008 19:43:36 von Peter Kovacs

Hi,

How can I find out how much space is taken up by database objects in data files?

Thanks
Peter

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq

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

am 13.02.2008 20:37:55 von paul socha

Hi

Im not sure ;]
but ...

http://www.postgresql.org/docs/8.3/static/functions-admin.ht ml
and table 9-54

merlin=# select tablename, pg_size_pretty(pg_relation_size
(tablename)) from pg_catalog.pg_tables where tableowner='merlin';;
tablename | pg_size_pretty
-----------+----------------
foo | 8192 bytes
ip | 8192 bytes
(2 rows)



On 2008-02-13, at 19:43, Peter Kovacs wrote:

> Hi,
>
> How can I find out how much space is taken up by database objects
> in data files?
>
> Thanks
> Peter


Pawel Socha
pawel.socha@gmail.com

perl -le 's**02).4^&-%2,).^9%4^!./4(%2^3,!#+7!2%^53%2&**y%& -;^[%"`-
{ a%%s%%$_%ee'


---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq

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

am 13.02.2008 21:13:41 von Carol Walter

Hi,

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?
>
> Thanks
> Peter
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faq


---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

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

am 13.02.2008 21:46:23 von Jeff Frost

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
Frost Consulting, LLC http://www.frostconsultingllc.com/
Phone: 650-780-7908 FAX: 650-649-1954

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match

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

am 13.02.2008 22:05:55 von Peter Kovacs

Howooow!!! Great!!!

Thanks a lot.
Peter

On Feb 13, 2008 9:46 PM, Jeff Frost wrote:
> 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
> Frost Consulting, LLC http://www.frostconsultingllc.com/
> Phone: 650-780-7908 FAX: 650-649-1954
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
> choose an index scan if your joining column's datatypes do not
> match
>

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

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

am 14.02.2008 00:15:37 von Peter Kovacs

Thanks, appears to work great!!
Peter

On Feb 13, 2008 9:46 PM, Jeff Frost wrote:
> 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
> Frost Consulting, LLC http://www.frostconsultingllc.com/
> Phone: 650-780-7908 FAX: 650-649-1954
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
> choose an index scan if your joining column's datatypes do not
> match
>

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings