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