Thread: Schema Size - PostgreSQL 9.2
Hi all,
Can you please provide me a Query that tells me how much space is a Schema in my DB?
I'm using one but don't think it's right....
SELECT schema_name,
pg_size_pretty(sum(table_size)::bigint),
(sum(table_size) / pg_database_size(current_database())) * 100 as a
FROM (
SELECT pg_catalog.pg_namespace.nspname as schema_name,
pg_relation_size(pg_catalog.pg_class.oid) as table_size
FROM pg_catalog.pg_class
JOIN pg_catalog.pg_namespace ON relnamespace = pg_catalog.pg_namespace.oid
) t
GROUP BY schema_name
ORDER BY schema_name
On Fri, Mar 18, 2016 at 09:38:30AM +1300, drum.lucas@gmail.com wrote: > Can you please provide me a Query that tells me how much space is a Schema > in my DB? There's been a discussion on that recently (like last month) which can be found in the archive. Karsten -- GPG key ID E4071346 @ eu.pool.sks-keyservers.net E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346
On Thu, Mar 17, 2016 at 4:45 PM, Karsten Hilbert <Karsten.Hilbert@gmx.net> wrote:
On Fri, Mar 18, 2016 at 09:38:30AM +1300, drum.lucas@gmail.com wrote:
> Can you please provide me a Query that tells me how much space is a Schema
> in my DB?
There's been a discussion on that recently (like last month)
which can be found in the archive.
Karsten
--
GPG key ID E4071346 @ eu.pool.sks-keyservers.net
E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
This should give you what you need:
SELECT n.nspname as schema,
pg_size_pretty(sum(pg_total_relation_size(quote_ident(n.nspname)|| '.' || quote_ident(c.relname)))) as size,
sum(pg_total_relation_size(quote_ident(n.nspname)|| '.' || quote_ident(c.relname))) as size_bytes
FROM pg_class c
JOIN pg_namespace n ON (n.oid = c.relnamespace)
JOIN pg_authid a ON ( a.oid = c.relowner )
WHERE relname NOT LIKE 'pg_%'
AND relname NOT LIKE 'information%'
AND relname NOT LIKE 'sql_%'
AND relkind IN ('r')
GROUP BY 1
ORDER BY 3 DESC, 1, 2;
SELECT n.nspname as schema,
pg_size_pretty(sum(pg_total_relation_size(quote_ident(n.nspname)|| '.' || quote_ident(c.relname)))) as size,
sum(pg_total_relation_size(quote_ident(n.nspname)|| '.' || quote_ident(c.relname))) as size_bytes
FROM pg_class c
JOIN pg_namespace n ON (n.oid = c.relnamespace)
JOIN pg_authid a ON ( a.oid = c.relowner )
WHERE relname NOT LIKE 'pg_%'
AND relname NOT LIKE 'information%'
AND relname NOT LIKE 'sql_%'
AND relkind IN ('r')
GROUP BY 1
ORDER BY 3 DESC, 1, 2;
--
Melvin Davidson
I reserve the right to fantasize. Whether or not you
wish to share my fantasy is entirely up to you.
I reserve the right to fantasize. Whether or not you
wish to share my fantasy is entirely up to you.