Pular para o conteúdo

Autovacuum do PostgreSQL

Dica publicada em Banco de Dados / Postgres
Caio Ferreira Dias caio
Hits: 22.801 Categoria: Banco de Dados Subcategoria: Postgres
  • Indicar
  • Impressora
  • Denunciar

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.

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

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

Mudando encoding do Postgres 8.4 para LATIN1

Ubuntu 10.04 + Postgresql 8.4 + PgAdmin III- Instalação para iniciantes

Tuning PostgreSQL 9.1 com pgtune - Debian e derivados

Instalando a linguagem procedural PL/PHP no PostgreSQL

PostgreSQL: Concedendo ou revogando privilégios em colunas

#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

Entre na sua conta para comentar.