Ola Ricardo,

Ricardo Cardim wrote:
> desculpa, reformulando...Quero o tamanho EM BYTES de uma tabela...se 
> tiver como...
Tem sim. Caso a sua versao seja 8.1.x voce pode fazer o seguinte:

foo=> SELECT pg_relation_size('produto_nota_fiscal');
 pg_relation_size
------------------
       1266098176
(1 registro)

A consulta acima retorna o tamanho em bytes.

foo=> SELECT oid, relname FROM pg_class WHERE relname = 
'produto_nota_fiscal';
  oid  |       relname
-------+---------------------
 17847 | produto_nota_fiscal
(1 registro)

Busquei o OID para descobrir o tamanho formatado.

foo=> SELECT pg_size_pretty(17847);
 pg_size_pretty
----------------
 17 kB
(1 registro)

E nao retornou o que eu esperava. Vou conferir se isto nao eh um bug.

Caso a versao esteja entre a 7.3 e a 8.1, voce encontra o modulo dbsize 
no contrib que tinha estas funcoes e foi incorporado ao backend na 8.1.

E se voce quiser dah pra procurar no braco, buscando o oid do banco (da 
tabela jah temos):

foo=> SELECT oid, datname FROM pg_database WHERE datname = 'foo';
  oid  | datname
-------+---------
 16408 | foo
(1 registro)

E usando no shell (ou no Windows Explorer, se for o caso):

#ls -lh /var/lib/pgsql8/base/16408/17847*
-rw------- 1 postgres postgres 1,0G 2006-05-03 00:08 
/var/lib/pgsql8/base/16408/17847
-rw------- 1 postgres postgres 184M 2006-10-16 20:48 
/var/lib/pgsql8/base/16408/17847.1


Com calma depois vou conferir se nao tem um furinho na pg_size_pretty, 
jah que o tamanho dessa tabela eh de 1.2 GB.

Alvaro
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a