Autovacuum do PostgreSQL

Publicado por Caio Ferreira Dias em 08/02/2011

[ Hits: 22.608 ]

 


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

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

Resolvendo waiting ou idle transaction no PostgreSQL

Verificar triggers desabilitadas no PostgreSQL

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

Leitura recomendada

Acesso externo no PostgreSQL 8.4

Consultas sem preocupação com maiúsculas ou minúsculas no PostgreSQL

Alterando senha inicial do PostgreSQL [Ubuntu]

PostgreSQL - Bancos com diferentes encodings

Como recuperar senha do usuário Postgres

  

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