2012-10-29 44 views
0

子的表空间我有一个相当大的插入查询,并在运行此我慢的磁盘在我复活哪里填补朝100%:如何设置选择PostgreSQL中

Transaction aborted because DBD::Pg::db do failed: ERROR: could not write to hash-join temporary file: No space left on device 

听起来真实可信,我有一个快速驱动器,它有很多空间,我可以使用它来代替慢速磁盘,但我不想将快速磁盘设置为默认表空间或将表格插入到快速磁盘中,我只是希望作为插入查询的一部分生成的数据blob位于快速磁盘表空间上。这可能是PostgreSQL,如果是这样的话?

9.1

回答

3

你想要temp_tablespaces配置指令。见the docs

为目的的临时文件,如分拣大型数据集也是这些表空间

必须CREATE TABLESPACE表空间(一个或多个)创建 在交互式SET temp_tablespaces命令使用它们之前。

SET LOCAL temp_tablespaces可能仅用于当前事务的设置。