Я TRUNCATE
сделал огромную (~ 120 Гб) таблицу под названием files
:
TRUNCATE files;
VACUUM FULL files;
Размер таблицы равен 0, но дисковое пространство не было освобождено. Любые идеи, как восстановить мое потерянное дисковое пространство?
ОБНОВЛЕНИЕ: Дисковое пространство было освобождено через ~ 12 часов, без каких-либо действий с моей стороны. Я использую сервер Ubuntu 8.04.
postgresql
truncate
disk-space
Адам Матан
источник
источник
Ответы:
Согласно комментариям в источнике ,
truncate
создает новый пустой файл хранилища и удаляет старый файл хранилища во время фиксации. (Документы предполагают, что «файл хранилища» - это просто файл, если говорить об ОС, но я могу неправильно понимать терминологию.)Поскольку кажется, что он удаляет файл, я могу представить некоторые случаи, когда базовая операционная система не сразу освобождает это пространство. Я полагаю, что в некоторых случаях файл хранилища может оказаться, например, в Корзине под Windows. Но в моем случае усечение таблицы в PostgreSQL 9. что-то сразу увеличило свободное пространство под Windows.
Усечение также записывается в журнал WAL. Я не знаю, какой эффект это может оказать.
источник