如何在PostgreSQL中设置子选择的表空间

时间:2012-10-29 09:39:26

标签: postgresql insert tablespace

我有一个相当大的插入查询,在运行这个时,我的慢速磁盘在我复活的地方填满100%:

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

1 个答案:

答案 0 :(得分:3)

您需要temp_tablespaces配置指令。请参阅the docs

  

用于排序大型数据集等目的的临时文件也是   在这些表空间中创建

在使用交互式SET temp_tablespaces命令之前,您必须CREATE TABLESPACE表空间。

SET LOCAL temp_tablespaces可用于仅为当前事务设置它。