我有一个相当大的Insert查询,在运行这个查询时,我的慢磁盘在我恢复的地方接近100%:
Transaction aborted because DBD::Pg::db do failed: ERROR: could not write to hash-join temporary file: No space left on device听起来很可信,我有一个快速驱动器,上面有很多空间,我可以用它来代替慢磁盘,但我不想让快速磁盘成为默认的表空间,也不想将im插入的表移动到快速磁盘上,我只希望作为insert查询的一部分生成的数据blob在快速磁盘的表空间上。这可能是PostgreSQL吗?如果是的话,是如何实现的?
版本9.1
发布于 2012-10-29 17:47:45
您需要temp_tablespaces配置指令。参见the docs。
还会在这些表空间中创建用于排序大型数据集等目的的
临时文件
您必须先CREATE TABLESPACE表空间,然后才能在交互式SET temp_tablespaces命令中使用它们。
可以使用SET LOCAL temp_tablespaces仅为当前事务设置它。
https://stackoverflow.com/questions/13119008
复制相似问题