Flávio, bom dia e obrigado pela atenção.

Em 24 de novembro de 2016 11:30, Flavio Henrique Araque Gurgel <
fha...@gmail.com> escreveu:
>
> Em qui, 24 de nov de 2016 às 13:34, Fernando Franquini 'capin' <
> fernando.franqu...@gmail.com> escreveu:
>
>> Bom dia,
>>
>> sou novo como DBA PostgreSQL, então desculpe a ignorância.
>>
>
> Não há problemas em ser novato aqui. Bem vindo.
> Basta seguir as regras da lista.
>

:D


>
>> Utilizamos a versão 9.4, temos algumas tabelas que sofrem DELETE e INSERT
>> o tempo todo e algumas muitos UPDATE.
>>
>> Tenho uma query que foi passada pelo antigo DBA para analise de linhas
>> mortas e deletadas:
>> SELECT schemaname, relname, n_live_tup, n_tup_del, n_dead_tup, CASE WHEN
>>   last_analyze > last_autoanalyze THEN last_analyze ELSE last_autoanalyze
>> --
>> end       AS data_analyze, CASE WHEN last_vacuum > last_autovacuum THEN
>>   last_vacuum ELSE last_autovacuum --
>>    end
>>        AS data_vacuum, round ((n_dead_tup / n_live_tup::NUMERIC) * 100,
>> 2) AS
>>          perc_dead, round ((n_tup_del / n_live_tup::NUMERIC) * 100, 2) AS
>>          perc_del
>> FROM pg_stat_user_tables
>> WHERE n_live_tup > 1000000
>> ORDER BY perc_del DESC;
>>
>> Baseado nessa consulta eu tenho alguns números elevados nas colunas
>> *perc_dead* e *perc_del*, porém ao realizar manutenções com VACUUM FULL
>> eu resolvo os problemas das linhas mortas.
>>
>
> O autovacuum deveria fazer isso pra você. VACUUM FULL é uma operação
> custosa para tabelas grandes e a tabela fica bloqueada durante toda a
> execução.
> Seu autovacuum está ligado ?
> Faça :
> SHOW autovaccum;
> Pode ser que seu dba anterior tenha deixado desligado por algum motivo.
>

Sim, está desligado por opção, pois chegaram a conclusão que o AUTOVACUUM
durante o dia atrapalha (devido o tamanho das tabelas - Mas ainda quero
realizar uma alteração a acompanhar isso um dia), por isso é feito VACUUM
em algumas tabelas principais durante a noite (porque é mais rápido) e
VACUUM FULL no final de semana, sim, temos essa janela.

Dúvidas:
>>
>> - Qual o percentual considerado algo para as linhas excluídas?
>>
>
> Não existe. A quantidade de linhas excluídas só depende de quanto DELETE
> foi feito numa tabela. Logo, cada aplicação faz o que precisa fazer.
>

Obrigado.


>
>
>> - Qual o percentual considerado algo para as linhas mortas?
>>
>
> Na configuração padrão do autovacuum, ele vai entrar quando esse
> percentual atinge 20%.
> Essa configuração pode ser alterada. Faça:
> SHOW autovacuum_vacuum_scale_factor;
> Logo, no seu caso, se o valor está abaixo de 20%, você pode simplesmente
> esperar o autovacuum entrar sozinho.
> Se o valor está acima, veja a minha pergunta mais acima se seu autovacuum
> está ligado.
> Se você quiser que isso seja controlado com mais frequência, reduza o
> valor na configuração autovacuum_vacuum_scale_factor.
>

Blz, isso li na documentação, vi que posso alterar por tabela caso
necessário, caso 20% seja muita informação alterada. Mas de qualquer forma
obrigado :)


> - Como posso resolver problema das linhas excluídas?
>>
>
> Isso não é um problema, é apenas uma estatística sobre como seu banco usa
> uma tabela.
>

Opa, blz então. Se fica somente na estatística, pode prejudicar a
utilização dos índices, certo?
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a