Как переместить временный файл / кэш PostgreSQL? У меня ограничено пространство на системном разделе, поэтому он продолжает выдавать ошибки, подобные этой:
ERROR: could not extend file "base/16384/16563.1": wrote only 4096 of 8192 bytes at block 207279
SQL state: 53100
Hint: Check free disk space.
Чтобы контролировать, куда PostgreSQL помещает временные файлы, сначала вы создаете одно или несколько табличных пространств для хранения временных файлов, а затем задаете переменную конфигурации temp_tablespaces для указания этих табличных пространств.
Важно, чтобы каталог табличного пространства продолжал существовать после перезапуска. Это нормально, если временные файлы исчезают изнутри, но целевой каталог должен существовать , иначе PostgreSQL не запустится.
Вы можете даже дать явный параметр tablespace
для CREATE TEMPORARY TABLE ...
и т. Д., Что позволит вам контролировать, куда идут вещи для распределения ввода-вывода, если вы знаете больше о рабочей нагрузке, чем сервер базы данных.