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