Em 23 de março de 2015 16:27, Matheus de Oliveira
<[email protected]> escreveu:
>
> 2015-03-23 16:13 GMT-03:00 Tiago José Adami <[email protected]>:
> 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.

Esqueci de mencionar, é um "vacuumdb -v -f -z" (ignorando os outros
parâmetros de conexão). Algumas tabelas recebem vários registros que
ao longo da semana são alterados e outra parte eliminados (uma delas
tem cerca de 500 mil registros novos por dia, ao final da semana a
tabela conta com 2 milhões de registros a mais). Só que varia muito de
tabela para tabela, conforme o tipo dos dados que são recebidos.

Sem o VACUMM FULL o tamanho do banco cresce vertiginosamente (em
disco), pois o banco de dados contém mais de 30 tabelas com mais de 60
colunas de diversos tipos.

> 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

A princípio, nunca me incomodei com isso antes. O autovacuum sempre
atendeu muito bem as minhas necessidades, principalmente a partir da
versão 9.1. Mas nesse caso vou criar um script para saber qual tabela
precisa de manutenção.

Agradeço pelas respostas (Matheus e Rafael).


TIAGO J. ADAMI
http://www.adamiworks.com
@tiadami
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a