Не удалось записать во временный файл hash-join: на устройстве не осталось места

Я выполняю функции PostgreSQL для обновления таблицы с огромным объемом данных, и обновление происходит примерно за 100000 записей каждый день. Во время обновления я получаю сообщение об ошибке:

"could not write to hash-join temporary file: No space left on device"

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

Быстрая помощь по этому вопросу будет оценена по достоинству. Спасибо заранее.

Ответ 1

  • SQL> create tablespace temp_tbs location '/some/big/disk';
  • изменить temp_tablespaces = 'temp_tbs' в postgresql.conf.
  • select pg_reload_conf();
  • пользоваться

Ответ 2

У меня та же проблема, но я работал с докером.

На случай, если вы тоже работаете с докером, перейдите по ссылке:

Docker Preferences> Disk Panel> Disk image size и увеличьте его.

Это решило мою проблему.