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 do meu lado. Eu uso o servidor Ubuntu 8.04.
postgresql
truncate
disk-space
Adam Matan
fonte
fonte
Respostas:
De acordo com os comentários na fonte ,
truncate
cria um novo arquivo de armazenamento vazio e exclui o antigo arquivo de armazenamento no momento da confirmação. (Os documentos sugerem "arquivo de armazenamento" é apenas um arquivo no que diz respeito ao sistema operacional, mas talvez eu esteja entendendo 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. Eu imagino que, em alguns casos, o arquivo de armazenamento possa acabar na Lixeira no Windows, por exemplo. Mas, no meu caso, truncar uma tabela no PostgreSQL 9.algo 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.
fonte