Bom dia, Pessoal, Estou realizando um teste para identificar tabelas inchadas (bloat table) na minha database. Porém fiquei com dúvida sobre o funcionamento do VACUUM. Tenho o seguinte cenário:
-- create da tabela create table a ( nm text ); -- inserção de registros insert into a values (repeat(md5(random()::text),2) ); insert into a values (repeat(md5(random()::text),2) ); insert into a values (repeat(md5(random()::text),2) ); insert into a values (repeat(md5(random()::text),2) ); insert into a values (repeat(md5(random()::text),2) ); insert into a values (repeat(md5(random()::text),2) ); insert into a values (repeat(md5(random()::text),2) ); insert into a values (repeat(md5(random()::text),2) ); insert into a values (repeat(md5(random()::text),2) ); insert into a values (repeat(md5(random()::text),2) ); -- todos os valores sequenciamente colocados em páginas select ctid, nm from a; -- update nos dois registros do meio da tabela update a set nm = 'teste 2' where ctid = '(0,5)'; update a set nm = ' teste 2' where ctid = '(0,6)'; -- os valores presentes na páginas 0, index 5 e 6, foram para o fim, ocupando o index 11 e 12 select ctid, nm from a; Com esse cenário testei as manutenções reindex, vacuum analyze, vacuum e vacuum full, nessa orderm, por fim, a única manutenção que reorganizou as páginas foi vacuum full. Pois bem, consultando a documentação do Postgres 9.0, está descrito que não deve-se utilizar de vacuum full, como forma de manutenção, deve-se realizar manutenções com vacuum (caso seja necessário) e/ou autovacuum. Resumindo, gostaria de entender melhor essa parte, porque essa tabela poderá ter muitos registros no futuro, e caso seja inserido muitos registros e atualiza alguns registros, terá páginas inteiras marcadas contendo "tuple dead", por fim, não fazendo o reaproveitamento das páginas, a tabela irá conter grandes quantidade de páginas utilizando muito espaço no Sistema Operacional, e fazendo com que a consulta sequencia faça varredura em todas páginas, como será controlado nessa situação? Somente com Fillfactor e Vacuum? Existe outros parâmetros de configuração para gerenciar esse cenário? Obrigado --
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral