Autovacuum do PostgreSQL

Publicado por Caio Ferreira Dias em 08/02/2011

[ Hits: 19.833 ]

 


Autovacuum do PostgreSQL



Pessoal, sou dba de uma empresa que usa PostgreSQL e temos várias conexões simultâneas, então vou compartilhar com vocês uma dica que uso aqui referente ao autovacuum do Postgres, onde estava me gerando dor de cabeça.

Primeiramente desabilite o autovacuum no postgresql.conf colocando autovacuum = off. Depois crie um script do para fazer o vacuum full.

# nano vacuum.sh

Coloque o seguinte conteúdo.

#!/bin/bash
su - postgres -c "/usr/bin/vacuumdb --d banco --full --analyze -U postgres

Salve e mude o arquivo para executável:

# chmod +x vacuum.sh

Edite o contrab para agendar o horário que será executado:

# nano /etc/crontab

Colocando a linha:

00 22 * * * root /local-script/vacuum_pg.sh

Salve! Pronto, todos os dias irá realizar o vacuum completo às 22:00.

Outras dicas deste autor

Verificar triggers desabilitadas no PostgreSQL

Script Reindex PostgreSQL com envio de email de notificação

Ubuntu 11.04 - Placa wireless parou de funcionar com o kernel 2.6.39.x?

Resolvendo waiting ou idle transaction no PostgreSQL

Leitura recomendada

Acessando dois databases no mesmo SELECT (PostgreSQL)

Acesso externo no PostgreSQL 8.4

Criando usuários no PostgreSQL

Fazendo backup com PostgreSQL

Reindex PostgreSQL - Script para acompanhamento de execução

  

Comentários
[1] Comentário enviado por hgporto em 14/08/2014 - 13:36h

Caio, boa dica!
Só faltou fechar aspas (") no comando do script.
;)
Abs!

[2] Comentário enviado por BacamarteLinux em 07/07/2015 - 20:21h

Em bases grandes isso vacuum full é inviável...



Contribuir com comentário