On Wed, Oct 26, 2016 at 10:45 AM, Fabrízio de Royes Mello <
[email protected]> wrote:
> Isso é normal, porque o metacomando \dt+ do psql [1] retorna o tamanho
> da tabela (incluindo FSM, VM e TOAST apartir da 9.0), ou seja, não
> considera índices.
>
Estou fazendo uma troca de servidor das bases de testes. Fiz um dumpall no
servidor antigo, e restaurei no novo servidor (zerado, sem nenhuma base, só
com a instalação do PostgreSQL). Ao terminar o restore, fiz o VACUUM FULL
de todas as bases, e então fui comparar os tamanhos dos databases entre os
dois servidores. Notei que no servidor de origem as bases tem um tamanho X,
e no novo servidor elas ficaram com 2X. Tenho uma tablespace para cada
base, então fui comparar o tamaho em disco das tablespaces, e elas estão
praticamente iguais nos dois servidores:
Tablespace server antigo:
~/dados/pg_tblspc/tblspc_pgh
$ du -skh
411G .
Tablespace server novo:
~/dados/pg_tblspc/tblspc_pgh
$ du -skh
425G .
Quando busco o tamanho da base no banco:
Servidor antigo:
select pg_database_size('pgh')/1024/1024/1024 || 'GB';
?column?
----------
410GB
(1 registro)
Servidor novo:
postgres=# select pg_database_size('pgh')/1024/1024/1024 || 'GB';
?column?
----------
850GB
(1 row)
Não sei como o pg_database_size funciona, como ele calcula o tamanho, mas
aparentemente (chute, dedução) está me retornando o tamanho da base antiga
(talvez tenha vindo esta informação já com o restore) somado ao tamanho
real da base.
Alguma idéia de como solucionar, para que mostre o tamanho real da base?
Att,
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral