Eu tenho um grande banco de dados rodando com PostgreSQL v11, e o espaço em disco é muito limitado, então eu tenho que VACUUM (FULL)
acessar o banco de dados com frequência (por exemplo, todos os dias).
Mas a aspiração é uma operação muito demorada. Além disso, muitas vezes encontro mensagens de erro de vácuo, como
ERROR: canceling autovacuum task
CONTEXT: automatic vacuum of table ***
Felizmente, o serviço pode ser encerrado em um determinado momento do dia, para que eu possa despejar o banco de dados após desligá-lo, restaurá-lo imediatamente e reiniciar o serviço novamente.
Além disso, descobri que "despejar/restaurar" é mais rápido que "aspirar".
Minha pergunta: as coisas que são feitas por "despejo/restauração" incluem as coisas que são feitas por "aspiração completa"?
Se assim for, posso fazê-lo em vez de aspirar.
Sim, despejar e restaurar o banco de dados terá o mesmo efeito que
VACUUM (FULL)
. Mas ter que fazer qualquer um desses todos os dias é doloroso.Você tem muito pouco armazenamento para seu banco de dados. Mantê-lo artificialmente compacto economiza espaço e acelera as consultas, mas pode retardar as modificações de dados. A solução adequada é aumentar seu armazenamento e dar ao seu banco de dados algum “espaço para respirar”. Isso fará com que seus problemas desapareçam e provavelmente uma reorganização como essa seja desnecessária.