Pesquisa avançada

VACUUM, ANALYSE, REINDEX e CLUSTER - MAINTENACE (Manutenção) no PostgreSQL.

Como executar a Maintenace (Manutenção) no PostgreSQL?

Antes de começar (muito importante):

  • Faça backup do banco de dados e caso não for possível fazer o backup, copie a pasta data.

  • Execute fora do horário comercial;

  • Obrigatoriamente: deve estar sem usuários conectados inclusive serviços;

  • Use um usuário com permissão de administrador (superuser).

1️⃣ Acessando o PostgreSQL

Você pode executar os comandos por:

  • pgAdmin;

  • psql (linha de comando);

  • Ferramenta de administração utilizada no servidor.

 VACUUM

O VACUUM é um processo de manutenção do banco de dados que:

  • Remove registros marcados como excluídos;

  • Libera espaço em disco;

  • Atualiza estatísticas internas do banco;

  • Melhora a performance de consultas.

Quando usar:

  • Lentidão no sistema;

  • Grande volume de inclusões, alterações ou exclusões;

  • Após exclusões em massa;

  • Como manutenção preventiva periódica.

 REINDEX

O REINDEX recria os índices do banco de dados, que podem ficar fragmentados com o uso contínuo.

Benefícios:

  • Corrige índices corrompidos;

  • Melhora a velocidade de buscas e filtros;

  • Otimiza relatórios e rotinas de consulta.

Quando usar:

  • Consultas muito lentas;

  • Erros de índice;

  • Após grande movimentação de dados;

  • Após executar VACUUM (recomendado).

ANALYZE

O que é?

O ANALYZE coleta estatísticas do banco de dados (distribuição de dados, cardinalidade, etc.) para que o otimizador de consultas escolha o melhor plano de execução.

 Ele não altera dados e não limpa registros.

Para que serve?

  • Melhorar a performance de consultas;

  • Corrigir planos de execução ineficientes;

  • Atualizar estatísticas após grandes alterações nos dados.

Quando usar:

  • Após muitas inclusões, alterações ou exclusões;

  • Após carga/importação de dados;

  • Após VACUUM (boa prática);

  • Quando consultas ficam lentas sem motivo aparente.

CLUSTER

O que é?

O CLUSTER reorganiza fisicamente os dados de uma tabela com base em um índice.

 Diferente do VACUUM/REINDEX, ele altera a ordem física dos registros no disco.

Para que serve?

  • Acelerar consultas que usam sempre o mesmo índice;

  • Melhorar leitura sequencial;

  • Reduzir I/O em tabelas grandes.

Quando usar:

  • Tabelas grandes;

  • Consultas frequentes usando o mesmo índice;

  • Relatórios pesados;

  • Cenários com leitura intensiva.

⚠️ Não usar com frequência (operação pesada).

⚠️ Observações importantes sobre CLUSTER

  • Bloqueia a tabela durante a execução;

  • Deve ser executado fora do horário comercial;

  • A reorganização não é permanente;

    • Novos inserts não seguem a ordem do índice.

  • Pode consumir bastante tempo e espaço;

Ordem correta de execução:

VACUUM → ANALYZE → REINDEX → CLUSTER

⚠️ Observações importantes

  • Sempre executar fora do horário comercial;

  • Garantir backup atualizado;

  • CLUSTER bloqueia a tabela;

  • Nem todas as tabelas precisam de CLUSTER.

PgAdmin – Execução de Manutenção no PostgreSQL

Mantenha sempre o PgAdmin atualizado para a última versão disponível, conforme o site oficial.

Atualização do PgAdmin

Execução de manutenção no banco de dados:

  1. No PgAdmin, localize o banco de dados desejado;

  2. Clique com o botão direito do mouse sobre o banco onde será realizada a manutenção;

  3. Acesse a opção de MAINTENACE (Manutenção).

Ordem recomendada de execução

Caso seja necessária uma manutenção completa, execute na seguinte ordem:

  1. VACUUM -

  2. ANALYZE-

  3. REINDEX-

  4. CLUSTER (opcional)-

 

Em cenários mais simples, pode-se executar apenas o VACUUM e o REINDEX.

Como executar?

  • Execute aba por aba, respeitando a ordem apresentada;

  • Em cada aba:

    • Ative todos os checkboxes disponíveis;

    • Inicie o processo e aguarde a conclusão antes de avançar para a próxima etapa.

Conclusão

A execução periódica dos processos de VACUUM, ANALYZE, REINDEX e CLUSTER é fundamental para garantir a estabilidade, desempenho e integridade do banco de dados PostgreSQL.

Manter o PgAdmin sempre atualizado, respeitar a ordem correta de execução e realizar a manutenção fora do horário comercial, com backup prévio, reduz riscos de lentidão, falhas de consulta e problemas de indexação.

Seguindo esse procedimento, o ambiente permanece otimizado, com melhor tempo de resposta do sistema e maior confiabilidade nas rotinas operacionais.