Tecnologia da Informação EmÁudio: Concorrência e Transações: VAcuum.
Olá, bem-vindo de volta! Bora falar do vacuum. Então som nessa caixa aí.
Jovem, lembra do mecanismo de controle de concorrência do postgreSQL? O MVCC? Pois é, ele tem uma implicação interessante. Devido a esse mecanismo, as operações de update ou delete sobre o registro não removem imediatamente a versão anterior do registro.
Isso mesmo, como as transações concorrentes podem enxergar a versão antiga do dado, é necessário mantê-la por mais um tempinho no banco de dados antes de movê-la de vez. Assim, os comandos update e delete apenas marcam o dado para a deleção futura.
Eventualmente, a manutenção de uma versão antiga do dado perde a utilidade, pois não há mais transações concorrentes que possam acessá-la, então ela pode ser deletada. Assim, periodicamente, é necessário fazer um procedimento no PostgreSQL que remove essas versões antigas, liberando o espaço que elas estavam ocupando no disco. Esse procedimento é feito ao executar um comando chamado vacuum.
É interessante que a operação de vacuum seja executada de f... Ler mais