Boa Noite Paulo,

Você pode utilizar o seguinte sql para verificar o tamanho da base:
select pg_size_pretty( pg_database_size ('postgres'))

Como eu desconhece qualquer função que pegue o tamanho do schema, eu faria
assim:

CREATE REPLACE FUNCTION fnc_tamanho_schema (char) RETURNS varchar AS
$BODY$
DECLARE
  v_tabela    varchar;
  v_tamanho    bigint;
BEGIN
  -- Passar o nome do schema no parâmetro da função
  v_tamanho := 0;

  FOR v_tabela IN
    select
      a.relname
    from
      pg_class a,
      pg_namespace b
    where
      b.nspname = $1 and
      b.oid = a.relnamespace and
      a.relkind = 'r'  -- Apenas Tabelas Físicas (sem indexes, Toast,
sequences, views)
    order by relname
  LOOP
    v_tamanho := v_tamanho + (pg_relation_size (v_tabela));
  END LOOP;

  RETURN (select pg_size_pretty(v_tamanho));
END;
$BODY$
LANGUAGE 'plpgsql';

select fnc_tamanho_schema ('public')

Espero ter ajudados.

Rafael Domiciano
DBA Postgres

2009/4/15 paulo matadr <[email protected]>

> Alguem tem sabe como eu faço pra calcular o tamanho de um schema( somatorio
> de  todos os objetos pertencentes a ele).
> Att
>
> Paulo Moraes
>
> ------------------------------
> Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 
> 10<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/>-
> Celebridades<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/celebridades/>-
> Música<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/m%C3%BAsica/>-
> Esportes<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/esportes/>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a