Em 4 de setembro de 2017 09:51, Luiz Carlos L. Nogueira Jr. <[email protected]> escreveu: > E o que fazer para evitar que o autovacuum rode durante o expediente? > Antes de mais nada, por que desabilitar o autovacuum durante o expediente? "porque ele trava a tabela" ou "porque ele prejudica a IO" não é geralmente a análise correta pois o VACUUM não trava registros e você pode controlar a IO do autovacuum (vide autovacuum_vacuum_cost_delay).
O comando abaixo desabilita o autovacuum para a tabela e sua tabela TOAST (avalie a necessidade de desabilitar um, outro ou ambos). ALTER TABLE foo SET (autovacuum_enabled = false, toast.autovacuum_enabled = false); > Não entendo uma coisa. Se eu passo o vacuum manual achava que ele dizia > "olhe não tem linhas a serem recicladas", mas isso não acontece pois o > autovacuum não considera isso > Você está equivocado. A rotina interna é a mesma. A diferença é que um é disparado pelo comando e outro por um módulo em segundo plano. Quanto a tabela inchada e zero linhas a serem recicladas, isso pode ser consequência de: (i) uma transação longa ou (ii) replicação (para não cancelar consultas é necessário evitar que o VACUUM limpe registros já excluídos no servidor principal mas que são úteis para consultas em execução no servidor secundário). O que pode estar acontecendo é que você precisa fazer um tuning no autovacuum para que ele dispare no momento adequado. -- Euler Taveira Timbira - http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
