Em 25 de outubro de 2016 18:22, Cleiton Luiz Domazak <
[email protected]> escreveu:

>
>
> 2016-10-25 17:28 GMT-02:00 Sebastian Webber <[email protected]>:
>
>>
>>
>> Em 25 de outubro de 2016 16:02, Cleiton Luiz Domazak <
>> [email protected]> escreveu:
>>
>>> Boa tarde.
>>>
>>> Preciso calcular o tamanho total de uma base em disco, não logicamente
>>> pela PostgreSQL.
>>>
>>
>> Dá uma olhada na função pg_database_size[1].
>>
>>
>>>
>>> Todas as bases estão criadas em cima de tablespaces, e como cada base
>>> tem a sua tablespace especifica, os temp files são criados em uma delas
>>> também. E o volume de WAL em disco é irrelevante nesse caso, deve ter uns
>>> 30 arquivos.
>>>
>>>
>> Temp files são gerados quanto algumas consultas não conseguem ser
>> ordenadas na work_mem ou em algumas tarefas de manutenção e como o nome
>> diz, são temporários. Acho que não devem fazer parte da tua conta.
>>
>>
>>>
>>> Então além do tamanho dessas tablespaces em disco, teria algo a mais a
>>> ser considerado?
>>>
>>
>> Pra calcular o tamanho da base, não acho que precise de mais nada que o
>> tamanho dos objetos, que podem ser computados com a função que citei acima.
>>
>
> Infelizmente não
>
> Tenho uma base que criei apenas para realizar esse teste, a qual em disco
> tem 1,2GB, e no PostgreSQL está com 2,4GB, mesmo rodando vacuum de tudo
> quanto é tipo.
>

Certeza que não está esquecendo nenhum esquema?


>
>
> select pg_size_pretty(pg_database_size('teste2'));
> "2410 MB"
>
>
> 1.2G    pg_tblspc (criei uma tablespace e defini como default justamente
> para isolar e saber o tamanho exato)
>
>
> teste2=# \dt+
>                      List of relations
>  Schema | Name  | Type  |  Owner   |  Size   | Description
> --------+-------+-------+----------+---------+-------------
>  public | teste | table | postgres | 1200 MB |
> (1 row)
>

ok, roda isso e me mostra a saida:

SELECT tablename,
pg_size_pretty(SUM(pg_total_relation_size(quote_ident(schemaname) || '.' ||
quote_ident(tablename)))) FROM pg_tables
GROUP BY tablename
ORDER BY  SUM(pg_total_relation_size(quote_ident(schemaname) || '.' ||
quote_ident(tablename))) DESC;



-- 
Sebastian Webber
http://swebber.me
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a