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

Responder a