Сообщение об ошибке: PostgreSQL сказал: не удалось записать блок 119518 временного файла: на устройстве не осталось места PostgreSQL

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

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, а затем объединяет таблицу (примерно 20 миллионов строк) с меньшей таблицей поиска (примерно 500 тысяч строк).


person Sebastian    schedule 01.06.2018    source источник
comment
Ошибка в том, что у вас недостаточно места на диске, а не в основной памяти.   -  person Peeyush    schedule 01.06.2018
comment
Сколько места на диске мне понадобится для чего-то подобного? В частности, есть ли у вас рекомендации по размеру инстанса AWS?   -  person Sebastian    schedule 01.06.2018
comment
Вы можете поделиться запросом, который вы используете   -  person Haleemur Ali    schedule 01.06.2018
comment
да, неадекватно   -  person Haleemur Ali    schedule 02.06.2018


Ответы (1)


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

person Sebastian    schedule 02.06.2018