Autovacuum do PostgreSQL

Publicado por Caio Ferreira Dias em 08/02/2011

[ Hits: 18.061 ]

 


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

Resolvendo waiting ou idle transaction no PostgreSQL

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

Verificar triggers desabilitadas no PostgreSQL

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

Leitura recomendada

Acesso externo no PostgreSQL 8.4

Alterando senha inicial do PostgreSQL [Ubuntu]

PostgreSQL - Bancos com diferentes encodings

PostgreSQL: Concedendo ou revogando privilégios em colunas

PostgreSQL - Alterando 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