2016-10-26 9:13 GMT-02:00 Sebastian Webber <[email protected]>:

>
>
> 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?
>

É uma única tabela de teste, num cluster criado só pra isso, justamente
para isolar totalmente.

>
>
>>
>>
>> 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;
>
>
>
"teste";"1200 MB"
"pg_depend";"872 kB"
"pg_proc";"832 kB"
"pg_attribute";"592 kB"
"pg_rewrite";"480 kB"
"pg_description";"400 kB"
"pg_statistic";"352 kB"
"pg_collation";"320 kB"
"pg_operator";"192 kB"
"pg_type";"168 kB"
"pg_class";"160 kB"
"pg_amop";"128 kB"
"pg_constraint";"80 kB"
"pg_amproc";"72 kB"
"pg_conversion";"72 kB"
"sql_features";"64 kB"
"pg_index";"56 kB"
"pg_opclass";"56 kB"
"pg_cast";"48 kB"
"pg_opfamily";"48 kB"
"pg_ts_config_map";"48 kB"
"pg_shdepend";"40 kB"
"pg_ts_template";"40 kB"
"pg_ts_dict";"40 kB"
"pg_tablespace";"40 kB"
"pg_ts_parser";"40 kB"
"pg_authid";"40 kB"
"pg_extension";"40 kB"
"pg_am";"40 kB"
"pg_database";"40 kB"
"pg_namespace";"40 kB"
"pg_ts_config";"40 kB"
"pg_language";"40 kB"
"pg_aggregate";"32 kB"
"pg_shdescription";"32 kB"
"pg_trigger";"32 kB"
"pg_pltemplate";"24 kB"
"pg_enum";"24 kB"
"pg_range";"24 kB"
"pg_attrdef";"24 kB"
"pg_inherits";"16 kB"
"sql_languages";"16 kB"
"pg_seclabel";"16 kB"
"pg_db_role_setting";"16 kB"
"pg_default_acl";"16 kB"
"sql_sizing";"16 kB"
"sql_packages";"16 kB"
"pg_event_trigger";"16 kB"
"pg_auth_members";"16 kB"
"pg_foreign_data_wrapper";"16 kB"
"sql_implementation_info";"16 kB"
"sql_parts";"16 kB"
"pg_user_mapping";"16 kB"
"pg_foreign_server";"16 kB"
"pg_shseclabel";"8192 bytes"
"pg_largeobject";"8192 bytes"
"sql_sizing_profiles";"8192 bytes"
"pg_largeobject_metadata";"8192 bytes"
"pg_foreign_table";"8192 bytes"




>
> --
> Sebastian Webber
> http://swebber.me
>
> _______________________________________________
> 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