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.



>
> 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.


>
> 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.


> - 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.


> - Como posso resolver problema das linhas excluídas?
>

Isso não é um problema, é apenas uma estatística sobre como seu banco usa
uma tabela.

[]s
Flavio Gurgel
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a