Сообщение об ошибке: «PostgreSQL сказал: не удалось записать блок 119518 временного файла: на устройстве не осталось места» PostgreSQL - PullRequest
0 голосов
/ 01 июня 2018

У меня есть запрос, который, интуитивно, должен работать просто отлично.Но почти сразу после выполнения мне выдается следующее сообщение об ошибке:

ERROR:  could not write block 119518 of temporary file: No space left on device
Query failed
PostgreSQL said: could not write block 119518 of temporary file: No space left on device

У меня приблизительно 4,5 ГБ свободного места.

Я попытался сократить использование памятизамена каждого из CTE на материализованные представления в надежде, что это уменьшит потребность в вычислительной мощности.

Дополнительно.Я предпринял следующие шаги -

- я увеличил наш экземпляр AWS до уровня db.r4.16xlarge, оптимизированного для памяти.

- я запустил подробный анализ и полный вакуумный анализ

- я остановил все остальные процессы

Запрос выполняет небольшую обработку в двух CTE, а затем объединяет таблицу (примерно 20M строк) с меньшей таблицей поиска (примерно 500K строк).

1 Ответ

0 голосов
/ 02 июня 2018

На случай, если кто-то еще столкнется с этим, я узнал ответ.И это было действительно просто: просто зайдите в админ-панель RDS и увеличьте выделенное хранилище.

...