O caso, em números
No dia 9 de agosto de 2026, executamos uma manutenção completa no banco de dados PostgreSQL que sustenta o ERP de uma indústria do segmento têxtil. O resultado final, medido pela própria ferramenta:
- 46,1 GB de espaço em disco recuperados
- 188 tabelas otimizadas — 100% de sucesso, 0 erros
- 5,6 milhões de fragmentos eliminados (5.628.623, para ser exato)
- 1.944 índices reconstruídos — todos os índices da base
- 2 horas e 38 minutos de ponta a ponta, num domingo de manhã
- Nenhuma interrupção para quem estava usando o sistema
O que é fragmentação de banco de dados?
Imagine o banco de dados como um grande armário de arquivo. Toda vez que o sistema altera um registro — uma nota fiscal emitida, um pedido faturado, uma baixa no estoque — o PostgreSQL não apaga a versão anterior na hora: ele guarda a cópia nova em outra gaveta e apenas marca a antiga como "espaço vago", para ser reaproveitado no futuro.
Com meses e anos de uso diário, essas sobras se acumulam. São os fragmentos: espaços vazios espalhados no meio dos dados úteis. A tabela ocupa cada vez mais disco para guardar a mesma quantidade de informação — e o banco precisa abrir muito mais gavetas para encontrar o que você pediu. O mesmo acontece com os índices, que funcionam como o índice remissivo de um livro: quando as páginas estão fora de ordem, o índice engrossa e a consulta demora.
"Fragmentação não é vírus nem dado corrompido: é o desgaste natural de um banco de dados que trabalha todos os dias — e nunca recebe manutenção."
O que encontramos
Logo na primeira varredura, o diagnóstico mostrou um cenário comum em empresas que nunca fizeram manutenção preventiva no banco:
- 179 tabelas acima do limite considerado saudável de fragmentação
- A grande maioria nunca tinha passado por manutenção — algumas convivendo com o problema há anos
- A campeã: uma tabela de mapeamento interno do sistema com 98% de fragmentação— mais de 2 milhões de fragmentos numa tabela de poucos megabytes
- Tabelas centrais da operação — itens de nota fiscal e itens de pedidos — com dezenas de gigabytes e centenas de milhares de fragmentos cada uma
Na prática: uma parte enorme do disco do servidor estava ocupada por espaço vazio, e cada consulta precisava trabalhar mais do que deveria para responder.
Os resultados, tabela a tabela
Os números abaixo são reais, medidos pela própria ferramenta durante a execução. Para proteger a identidade do cliente, usamos a descrição de negócio de cada tabela:
- Itens de nota fiscal: de 22 GB para 9,1 GB (−58%) — 351 mil fragmentos removidos
- Itens de pedidos: de 16 GB para 6 GB (−62%) — 834 mil fragmentos removidos
- Movimentações operacionais: de 12 GB para 5,9 GB (−51%)
- Tabela de preços: de 743 MB para 63 MB (−92%)
- Mapeamento interno do sistema: de 543 MB para 4 MB (−99%) — era a tabela 98% fragmentada
Somando todas as tabelas tratadas, foram 46,1 GB devolvidos ao disco — espaço que o banco ocupava apenas com sobras que ninguém usava mais.
Por que isso importa para o administrador
Espaço recuperado é só a parte mais visível do resultado. Um banco de dados sem fragmentação traz benefícios diretos para a operação:
- Consultas e relatórios tendem a abrir mais rápido — o banco varre menos dados para responder a mesma pergunta
- Backups menores e mais rápidos — menos gigabytes para copiar, guardar e, eventualmente, restaurar numa emergência
- Menos risco de travamento nos horários críticos — fechamento do mês, faturamento, inventário
- Adia investimentos em hardware — 46 GB a menos de uso de disco postergam a compra de storage ou de um servidor novo
- Manutenção vira rotina previsível, e não uma emergência descoberta na pior hora
Vale ser transparente: o ganho de velocidade varia de caso a caso — o que os números acima mostram com precisão é a redução de espaço e de fragmentação. Mas um banco enxuto é um banco que trabalha menos para entregar o mesmo resultado. Se o seu sistema anda lento, vale ler também por que meu sistema/ERP fica lento? Causas e soluções.
Como foi feito sem parar a empresa
A manutenção foi executada pelo pg-werk, nossa ferramenta de otimização para PostgreSQL, e seguiu um princípio simples: nunca assumir que o trabalho acabou — sempre conferir de novo. Ela trabalha em ciclos: varre a base, trata o que está acima do limite e varre novamente.
- Ciclo 1: 179 tabelas tratadas
- Ciclo 2: apenas 7 ainda acima do limite
- Ciclo 3: restaram 2
- Ciclo 4: nada mais acima do limite — fim da execução
Na sequência, todos os 1.944 índices da base foram reconstruídos, para garantir que as consultas voltassem a usar caminhos enxutos. Durante todo o processo, o sistema continuou no ar: em 7 momentos outra conexão disputou a mesma tabela que estava em manutenção — todas foram detectadas e contornadas automaticamente, sem que nenhuma ficasse pendente. Quem usou o ERP naquela manhã não percebeu nada.
Como a WERK Tecnologia pode ajudar
Essa mesma manutenção pode ser programada e recorrente com opg-werk: ele analisa o banco em modo somente leitura, mostra o que encontrou e só age com a sua autorização — com relatório completo do que foi feito. Você pode fazer uma análise grátis por 7 dias e ver o estado real do seu banco antes de decidir qualquer coisa.
Se preferir deixar a manutenção com especialistas, a WERK também atua comadministração e monitoramento contínuo de bancos de dados para empresas de Pomerode, Vale Europeu e região.
