Ответ 1
-
SQL> create tablespace temp_tbs location '/some/big/disk';
- изменить
temp_tablespaces = 'temp_tbs'
в postgresql.conf. -
select pg_reload_conf();
- пользоваться
Я выполняю функции PostgreSQL для обновления таблицы с огромным объемом данных, и обновление происходит примерно за 100000 записей каждый день. Во время обновления я получаю сообщение об ошибке:
"could not write to hash-join temporary file: No space left on device"
Я действительно не смог получить что-то полезное для преодоления этой ошибки. У меня есть что-то, где говорится, чтобы установить временные табличные пространства. Но мне не удалось найти, как создать временное табличное пространство, в котором данные будут сохранены во время выполнения процедуры обновления.
Быстрая помощь по этому вопросу будет оценена по достоинству. Спасибо заранее.
SQL> create tablespace temp_tbs location '/some/big/disk';
temp_tablespaces = 'temp_tbs'
в postgresql.conf.select pg_reload_conf();
У меня та же проблема, но я работал с докером.
На случай, если вы тоже работаете с докером, перейдите по ссылке:
Docker Preferences
> Disk Panel
> Disk image size
и увеличьте его.
Это решило мою проблему.