Importei dados para um novo banco de dados (cerca de 600m linhas de carimbo de data / hora, inteiro, duplo). Criei alguns índices e tentei alterar algumas colunas (resolvi alguns problemas de espaço), o banco de dados foi aspirado.
Agora, o pgAdmin III me diz que o " Tamanho dos arquivos temporários " é 50G ~ +.
- O que são esses arquivos temporários? são como o log de transações do SQL Server?
- Como posso me livrar deles, parece que o banco de dados é muito maior do que deveria (o tamanho total do banco de dados é de 91 GB)
Usando o Posgres 9.4.1 em um servidor Windows 2012.
Uma captura de tela da guia de estatísticas do banco de dados:
postgresql
pgadmin
Ofiris
fonte
fonte
Respostas:
Não encontrei nada na documentação do pgAdmin, mas o código-fonte revela a consulta por trás dessas entradas (adicionada ao Postgres 9.2+):
Tudo se resume a:
E o manual
pg_stat_database
do Postgres tem detalhes para :Observe que esses valores não contribuem para o tamanho do seu banco de dados. Mas eles indicam que sua configuração
work_mem
pode ser muito baixa, de modo que muitas operações de classificação são derramadas no disco (o que é muito lento em comparação com apenas a RAM).Palavras-chave:
Para realmente compactar o tamanho do seu banco de dados:
Para medir o tamanho:
Além disso: o WAL (Write Ahead Log) seria equivalente no Postgres para o log de transações no SQL Server. Boa explicação nesta resposta relacionada ao SO:
fonte
De acordo com:
http://www.postgresql.org/message-id/[email protected]
O contador temporário (arquivos e espaço usado) mostra um total de todos os arquivos temporários usados, provavelmente desde a criação do cluster. Não reflete o espaço atual usado pelos arquivos temporários.
Meu sistema, por exemplo, mostra quase 700 GB de arquivos temporários usados, mas o espaço real ocupado por arquivos temporários em /var/lib/pgsql/9.3/data/base/pgsql_tmp é de apenas 53 MB atualmente.
fonte