Em 17 de maio de 2011 13:22, Emanuel Araújo <[email protected]> escreveu:
> > > Sim, é uma prevenção para evitar perda de dados. Você deveria estar com o >> autovacuum ligado ou, no mínimo, fazer vacuums manuais regularmente. >> Para não ter que se preocupar com isso, mantenha o autovacuum ligado e bem >> configurado. >> > > Tenho as rotinas de manutenção rodando diariamente, mas mantemos o > autovacuum "off", sei que o ideal seria ele estar "on", bem, como é essa > prevenção > O que é feito nas suas rotinas? > para evitar perda de dados? o vacuum não serve para marcar "tuplas > inválidas" para serem re-utilizadas? Eu sei que existem outros parametros a > ser usado com o vacuum, mas o conceito é esse... "liberar espaço" . > O conceito é "reaproveitar espaço". Mas é um conceito muito brando. Qual versão do PostgreSQL está usando? A partir da versão 8.3 e introdução do hot-update a probabilidade de wrap-around diminuiu bastante. O PostgreSQL tem um contador de transações de 32 bits. As tuplas nas tabelas tem várias "marcações" sobre qual transação fez algo sobre elas. Note que 32 bits ~ 4 bilhões de possibilidades. Quando uma tabela "chega perto" desse número de possibilidades se esgotar, entra o autovacuum para fazer o ajuste das tuplas com "marcações" antigas demais e as ajusta para que não haja a possibilidade de uma transação corrente ter número menor do que uma transação antiga. Veja em http://www.postgresql.org/docs/8.3/static/routine-vacuuming.html#VACUUM-FOR-WRAPAROUNDa relação entre o MVCC e o wraparound, e como configurar freeze_max_age e vacuum_freeze_min_age. > > Como posso fazer para desativá-lo ? > Você não pode dessativá-lo, apenas postergá-lo sob risco enorme de ter uma tabela em freeze, aumentando a diferença entre min e max age. Uma tabela em freeze, acredite, não é uma situação confortável. []s Flavio Gurgel
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
