On 07-04-2014 18:32, Danilo Silva wrote: > É possível saber o tamanho de um campo e de uma linha de uma tabela? Tenho > uma tabela que tem um campo bytea e preciso saber quanto este campo está > ocupando de espaço em disco. > Para calcular o quanto uma coluna ocupa de espaço basta fazer:
foo=# select pg_size_pretty(sum(pg_column_size(coluna))) as tamanho from bar ; tamanho --------- 67 MB (1 registro) Quanto ao tamanho de uma tupla o cálculo é um pouco mais complicado (basicamente é tamanho do cabeçalho + tamanho do ponteiro + soma dos tamanhos de cada campo) e depende da versão do PostgreSQL. Algo aproximado seria (id é a chave primária da tabela bar): foo=# select id,pg_size_pretty(sum(pg_column_size(bar.*))) as tamanho from bar group by id ; id | pg_size_pretty --------+---------------- 202094 | 68 bytes 288788 | 988 bytes 2026 | 2120 bytes 81339 | 656 bytes 277925 | 668 bytes 322256 | 828 bytes 22262 | 1320 bytes 319416 | 1348 bytes 546627 | 68 bytes . . . -- Euler Taveira Timbira - http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
