Pular para o conteúdo

Vacuum - otimizando sua base de dados PostgreSQL

Vacuum libera espaço em disco utilizado pelos registros deletados de uma base de dados do PostgreSQL, que teoricamente não são mais necessários. Nesse artigo veremos em detalhes como utilizar essa excelente ferramenta.
Vagner Rodrigues Fernandes vagnerd
Hits: 108.925 Categoria: Banco de Dados Subcategoria: Postgres
  • Indicar
  • Impressora
  • Denunciar

Introdução

Durante uma operação normal do PostgreSQL, os registros que são deletados ou atualizados não são fisicamente removidos das tabelas, permanecendo presentes até a execução de um comando chamado vacuum.

Assim é necessário realizar vacuum periodicamente, especialmente em tabelas freqüentemente usadas.

Quando vacuum estiver sem parâmetro, ele irá processar cada tabela do banco de dados, mas quando existe algum parâmetro no vacuum somente a tabela é processada.

Vacuum analyze


Executa um vacuum e depois um analyze para cada tabela selecionada. Esta é uma forma de combinação para manutenção rotineira de scripts, veja ANALYZE para mais informações a respeito do processamento.

Somente vacuum, simplesmente reivindica espaço e o torna disponível para a reutilização.

Utilizando o Vacuum Analyze:

$ VACUUM ANALYZE tabela;

Se você quiser ver o status, utilize o parâmetro VERBOSE:

$ VACUUM ANALYZE VERBOSE tabela;

Vacuum full


Realiza um processamento mais extensivo, inclusive movendo as tuplas através de blocos, para tentar compactar a tabela ao número mínimo de blocos. Esta forma é muito lenta e exige um bloqueio exclusivo em cada tabela enquanto estiver sendo processada:

$ VACUUM FULL;

Se você quiser ver o status, utilize o paramento VERBOSE:

$ VACUUM FULL VERBOSE;

   1. Introdução
   2. Vacuum no shell
   3. Gerando logs do vacuum
   4. Observações

Burlando "MSN Sniffers" com TOR e Gaim

Bind com suporte a sdb/PostgreSQL

Configurando um servidor de FTP no OpenBSD

Mantendo seu Slackware atualizado com o slackcurrent

LFTP - Sophisticated File Transfer Program

Encoding do Postgres (latin1) e encoding do SO (Debian/Ubuntu)

PostgreSQL 9.4 - O conceito de Role

PostGIS no Slackware

Criando um banco de dados espacial com PostgreSQL + PostGIS

Como migrar banco de dados MySQL para PostgreSQL

#1 Comentário enviado por paulopewera em 15/10/2012 - 11:01h
Estou tentando criar um script de Backup mas quando eu executo ele me pede a senha para o banco, como posso resolver?

Contribuir com comentário

Entre na sua conta para comentar.