Autovacuum do PostgreSQL
Dica publicada em Banco de Dados / Postgres
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.
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:
Salve! Pronto, todos os dias irá realizar o vacuum completo às 22:00.
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
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.
Só faltou fechar aspas (") no comando do script.
;)
Abs!