Тонны места, но - [53100] ОШИБКА: не удалось записать блок …: на устройстве не осталось места

Я продолжаю сталкиваться с этой ошибкой в ​​Windows Postgresql, выполняя большой запрос:

[53100] ERROR: could not write block 21991344 of temporary file: No space left on device

Единственная проблема заключается в том, что у меня на самом деле осталось огромное количество места на всех моих разделах (включая 171 ГБ на разделе, содержащем каталог данных, и 448 ГБ на моем единственном другом разделе).

Похоже, какая-то внутренняя настройка предотвращает создание временного файла, с которым я не знаком. Я просмотрел файл конфигурации и без посторонней помощи подправил пару настроек, связанных с временными таблицами.

Я смог запустить запрос раньше, в базе данных мало что изменилось, кроме пары таблиц.


person Stellar Jay    schedule 24.09.2019    source источник


Ответы (1)


21991344 блока это 168 ГБ. Это довольно близко к пространству, которое, как вы говорите, у вас есть бесплатно. Может быть какой-то другой временный файл меньшего размера, который также используется для устранения различий (или это может быть разница в определении ГБ, 10 ^ 9 или 2 ^ 30).

person jjanes    schedule 24.09.2019
comment
Вау, без шуток. Я искренне не думал, что это возможно. Спасибо за ваш ответ, похоже, мне нужно будет разбить данные по месяцам и обрабатывать отдельно. Это или что-то серьезно не так с моим запросом (я просматривал его несколько раз, поэтому я думаю, что postgres делает какие-то странные вещи в фоновом режиме). - person Stellar Jay; 25.09.2019