Se eu fizer um VACUUM
em uma tabela Postgres (sem a FULL
opção) eu sei que ele deve disponibilizar qualquer espaço livre para o banco de dados, mas não para o sistema operacional.
Deve tornar o espaço livre disponível para qualquer objeto de banco de dados? ou apenas a mesa que foi aspirada?
Após
VACUUM
a mesa será tão grande quanto antes, apenas mais espaço estará livre e disponível paraINSERT
s e s futurosUPDATE
. Em outras palavras, o arquivo não encolherá (1) . Assim o espaço não estará disponível para outras mesas, apenas para a mesa que foi aspirada.Nota (1): Às vezes , o arquivo encolhe. Se o último bloco estiver completamente vazio após o
VACUUM
, o PostgreSQL tentará truncar todos os blocos vazios do final da tabela.