Eu tenho TRUNCATE
uma tabela enorme (~ 120Gb) chamada files
:
TRUNCATE files;
VACUUM FULL files;
O tamanho da tabela é 0, mas nenhum espaço em disco foi liberado. Alguma idéia de como recuperar meu espaço em disco perdido?
ATUALIZAÇÃO: O espaço em disco foi liberado após ~ 12 horas, sem nenhuma ação da minha parte. Eu uso o servidor Ubuntu 8.04.
De acordo com os comentários na fonte ,
truncate
cria um novo arquivo de armazenamento vazio e exclui o arquivo de armazenamento antigo no momento do commit. (Os documentos sugerem que "arquivo de armazenamento" é apenas um arquivo no que diz respeito ao sistema operacional, mas posso estar interpretando mal a terminologia.)Como parece estar excluindo um arquivo, posso imaginar alguns casos em que o sistema operacional subjacente pode não liberar imediatamente esse espaço. Imagino que em alguns casos o arquivo armazenado possa ir parar na Lixeira do Windows, por exemplo. Mas, no meu caso, truncar uma tabela no PostgreSQL 9.something aumentou imediatamente o espaço livre no Windows.
O truncamento também é registrado no log do WAL. Não sei quanto efeito isso pode ter.