Rotina de limpeza da base de dados - VACUUM

Rotina de limpeza da base de dados - VACUUM


PostgreSQL

Quando o banco de dados atinge um volume grande de dados é necessário executar rotinas de manutenção que tem por objetivo:

  • Diminuir o espaço utilizado pelo banco de dados 
  • Recalcular as estatísticas para melhorar desempenho das busca realizadas no banco de dados.

Para executar essa rotina é necessário que NINGUÉM esteja conectado ao banco de dados.
Isso incluí qualquer aplicativo que conecte ao banco de dados.

Sendo assim, é recomendado parar todos os sistemas conectados ao banco de dados.

No caso do ProManager certifique-se que ninguém esteja conectado ao sistema e pare todos os agendamentos antes de executar o comando.

Ao executar a rotina de VACCUM os sistemas conectados ao banco de dados não vão conseguir executar nenhum comando no banco de dados.
Além disso não é possível interromper o comando e o processo dependendo do tamanho da base de dados pode levar horas até finalizar a execução do comando.


Execute o programa PgAdmin.

Acesse o servidor e pressione o botão direto do mouse sobre o ícone do banco de dados, selecione a opção Maintenance.

Na janela que será aberta, selecione a opção VACUUM. Opcionalmente, selecione as opções Full, Analyze e Verbose. Pressione “OK”.

Enquanto o processo é executado, as informações serão demonstradas na tela.


Agendamento

Para agendar a execução da rotina de vacuum é necessário:

  • Criar arquivo %APPDATA%\postgresql\pgpass.conf com o seguinte conteudo: localhost:5432:*:USUARIO:SENHA
  • Adicionar a variável de ambiente PATH o caminho da pasta bin da instalação do PostgreSQL. Ex: C:\Program Files (x86)\PostgreSQL\10\bin
  • Reiniciar a seção do usuário

Crie um arquivo limpeza.bat com o seguinte conteúdo:

vacuumdb --all --full --analyze --username=NOME_DO_USUARIO

Adicione a execução do arquivo acima no agendador de tarefas do windows.





Atualizado em 21/11/2022
Este artigo foi útil?  
Agradecemos sua avaliação.