2015-03-23 16:13 GMT-03:00 Tiago José Adami <adam...@gmail.com>:

> O autovacuum parece não estar encontrando uma janela disponível
> (o espaço utilizado em disco diminui
> pouco ou nada comparado a um VACUUM explícito), então me obrigo a
> colocar um agendamento no cron toda madrugada, deixando o banco
> temporariamente inoperante.
>
>
Um VACUUM convencional não diminui o tamanho dos arquivos (de fato diminui
em situações muito específicas, mas podemos dizer que isso é irrelevante no
momento). Além disso, o VACUUM *não deixa o banco inoperante*. Já o VACUUM
FULL faz as duas coisas: (1) diminui o tamanho dos arquivos, se possível, e
(2) realiza um bloqueio das tabelas enquanto as processa.

Logo, você está executando um VACUUM FULL? Se sim, isso pode ser uma
prática bem ruim, o ideal é tentar otimizar o autovacuum para que este dê
conta do recado.



> Há como saber se o autovacuum está sendo eficiente? Tipo: um SELECT
> que mostre quais tabelas precisam de VACUUM?
>
> Dessa forma eu faria uma checagem e executaria somente quando necessário.
>

Veja a tabela pg_stat_all_tables (e pg_stat_user_tables) [1], as colunas
n_live_tup e n_dead_tup podem ser usadas (e de fato é o que o autovacuum
usa). Você também pode usar as consultas para fazer uma análise do inchaço
de tabelas [2] e índices [3].

[1]
http://www.postgresql.org/docs/current/static/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW
[2] https://wiki.postgresql.org/wiki/Show_database_bloat
[3]
http://blog.ioguix.net/postgresql/2014/03/28/Playing-with-indexes-and-better-bloat-estimate.html

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Reply via email to