Ir directamente para o fim dos matadados
Ir directamente para o início dos matadados
Está a ver a versão antiga (v. /pages/viewpage.action?pageId=20807938) desta página. ver diferenças ·  ver histórico de página

Vacuum em banco de dados PostgreSQL

 O que é "Vacuum"?

Basicamente, o Vacuum é um processo de melhora de performance do Banco de Dados através da realocação de espaço obsoleto. Abaixo estão explicadas as 3 maneiras de executar este processo e quando recomendamos executá-los.


Requisitos:

  • Será necessário ter a instalação do programa pgAdmin (referente ao PostgreSQL 9.0) com acesso ao servidor de banco de dados: http://www.pgadmin.org/. Caso falte a instalação, solicitamos entrar em contato com o técnico responsável pela parte de informática de sua empresa.
  • Possuir usuário e senha do banco de dados, caso não possua solicite ao responsável pelo banco de dados na empresa.

    (aviso) IMPORTANTE:
    Antes de iniciar este processo é importante que não haja ninguém logado no Sistema.


1 - Manualmente


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”.

  • FULL: Esta opção exigirá mais espaço em disco, é mais demorada e é recomendada somente para casos onde é necessário diminuir o volume utilizado de espaço pela base de dados.
  • FREEZE: Esta opção está defasada e não recomenda-se utilizá-la.
  • ANALYZE: Atualiza as tabelas de estatísticas do banco de dados, visando o aumento de performance quando da execução das instruções.
  • VERBOSE: Demonstra as informações em tela enquanto o processo é executado.

    Para mais informações, acesse: http://www.postgresql.org/docs/9.0/static/sql-vacuum.html 

 

Enquanto o processo é executado, as informações serão demonstradas na tela. Tal processo pode demorar alguns minutos. O tempo varia de acordo com o tamanho do Banco de Dados.

Ao término do processo, será demonstrada a mensagem semelhante à apresentada abaixo. Feche a janela clicando no botão “Done” ou “Concluído”.

 



2 - Via arquivo Batch



(aviso) Lembrando que este processo deve ser realizado quando não houver nenhum usuário conectado no sistema!


Crie um arquivo do tipo Documento de Texto (Bloco de Notas) e insira as seguintes informações no arquivo:

Feito isso, salve o arquivo com a extensão ".bat". Basta então, executar o arquivo com duplo clique sobre o mesmo para iniciar o processo do Vacuum.
A linha de comando de execução do Vacuum pode estar, inclusive, no mesmo arquivo que realiza o Backup da base de dados da sua empresa! Para isto, basta adicionar a linha no final do arquivo, que executará o Vacuum logo após o Backup da sua base de dados.

 

Argumentos:
[Diretório_Instalação_PostgreSQL]: Caminho do vacuumdb, por exemplo: C:\Arquivos de programas\PostgreSQL\9.0\bin\vacuumdb.exe;
-h [IP_do_BD]: IP de onde está localizado o Banco de Dados;
-p [Porta_do_BD]: Porta na qual foi instalado o Banco de Dados;
-U [User]: Username do banco. De padrão é postgres;
--all: Todas as tabelas da base de dados sofrerão o vacuum.
--full: Vacuum completo. Necessita de mais espaço em disco e trava o todo o Banco de Dados enquanto o processo está sendo executado.
--analyze: Função interna do PostgreSQL para realocação de registros e melhoria de performance.
[Nome_BaseDados]: Nome da base de dados. Caso este não for informado, será realizado o Vacuum Full em todas as bases de dados.


3 - Agendador de Tarefas do Windows


Também pode-se utilizar o Agendador de Tarefas do Windows para automatizar o processo de execução do Vacuum através de um arquivo do tipo Batch.

Para isso, vá em Painel de Controle e abra o Agendador de Tarefas e crie uma nova Tarefa.


Na aba Geral, entrar com o nome da nova tarefa e quaisquer informações adicionais que desejar no campo Descrição para identificar a Tarefa. Também poderá escolher o usuário que executará esta tarefa entre outras opções.

Na aba Disparadores, será informado o horário que será disparada tal tarefa. Como informado novamente, o Vacuum deve ser executado quando não houver usuários conectados no Sistema, portanto é sempre uma boa prática agendar para o final do dia ou de madrugada, lembrando que pode levar alguns minutos ou horas, dependendo do tamanho da(s) base(s) de dados.

Também é altamente recomendável realizar este processo diariamente, para garantir uma melhor performance do banco de dados, porém tanto a frequência quanto o horário da execução do Vacuum fica a critério do profissional de TI de sua empresa e do planejamento interno da mesma.

Na aba Ações, será definido o arquivo a ser iniciado. Selecione o arquivo ".bat" criado anteriormente e deixe selecionada a opção "Iniciar um programa".


 




(informação) Para mais informações sobre Vacuum, acesse:

http://www.postgresql.org/docs/9.0/static/sql-vacuum.html

http://www.postgresql.org/docs/9.0/static/app-vacuumdb.html.

 




Labels
  • Nenhum