Em 15 de dezembro de 2016 11:16, Crauss, Jacson <cra...@gmail.com> escreveu:
> > 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 > O vacuum full não é necessário, visto que as bases foram construídas do zero, logo não há tuplas mortas, ou ao menos não deveria haver. > [...] > Quando busco o tamanho da base no banco: > Servidor antigo: > select pg_database_size('pgh')/1024/1024/1024 || 'GB'; > Obs.: Podes utilizar a função "pg_size_pretty" para realizar essa formatação e cálculo. > ?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? > Primeiramente, eu refaria o teste sem realizar o vacuum full. Poderia também executar um analyze na base de dados antes de executar as queries para verificar o tamanho (ou neste momento também). Não tenho certeza de como ele funciona, porém creio que ele não teria como obter a informação sobre o tamanho das bases de origem, a não ser que tenha trazido as estatísticas das bases de origem e as estatísticas não tenham sido atualizadas. Espero que ajude. []'s
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral