> [Gibon] se a tabela estiver com algum bloqueio (usuário deixou uma > aplicação aberta,...) o truncate vai ficar "waiting...", para evitar > isto eu valido se > não há bloqueios antes de rodar o truncate. Ou então vou usar o nowait > e tratar as exceções.
Ok. > > - rodar um vacuum full para as tabelas (1), também validando a > > disponibilidade de cada uma > > Por quê? > > [Gibon] Porque são tabelas com MUITAS linhas deletadas, então optei > pelo FULL para fazer este "reorg" físico. Se o seu VACUUM (sem FULL) funcionar corretamente, as linhas deletadas serão reaproveitadas pelo PostgreSQL. O VACUUM FULL é muito oneroso, a não ser que suas tabelas sejam pequenas. Note que após um VACUUM FULL é obrigatório fazer um REINDEX e ANALYZE. Mas eu evitaria o VACUUM FULL. > Não há necessidade de fazer analyze se seu autovacuum estiver bem > configurado. Ele faz essa tarefa pra você. > Por que desativar o autovacuum durante o dia? > > [Gibon] Rodo o analyze por não ter o autovacuum ativo. E desativo o > autovaccum para não ter processos concorrentes durante o dia > (operacional), entendendo que o vacuum/analyze sendo executado a cada > dia (durante a noite) > é o suficiente para garantir performance e otimização de espaço. Se as suas tabelas não tem alteração durante o dia, o autovacuum não fará nada, portanto, não precisa desligá-lo. Ele será apenas um processo que não consome quase nada de recursos. Também não há necessidade de ANALYZE manual. Todavia, se suas tabelas tem alteração durante o dia, o autovacuum bem configurado é a melhor escolha, mesmo concorrendo ele lhe será mais útil do que muitas manutenções noturnas. []s Flavio Henrique A. Gurgel tel. 55-11-2125.4786 cel. 55-11-8389.7635 www.4linux.com.br FREE SOFTWARE SOLUTIONS _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
