错误消息:“PostgreSQL说:无法写入临时文件的块119518:设备上没有剩余空间”PostgreSQL

时间:2018-06-01 20:24:19

标签: sql postgresql memory-management amazon-rds explain

我有一个查询,直觉上应该可以正常工作。但是,几乎在执行之后,我收到了这条错误消息:

ERROR:  could not write block 119518 of temporary file: No space left on device
Query failed
PostgreSQL said: could not write block 119518 of temporary file: No space left on device

我有大约4.5GB的免费存储空间。

我尝试通过用物化视图替换每个CTE来减少内存使用量,以期减少对处理能力的需求。

此外。我采取了这些步骤 -

- 我将我们的AWS实例提升为内存优化的db.r4.16xlarge。

- 我运行了分析详细和真空全分析

- 我已停止所有其他流程

查询在两个CTE中执行一些小处理,然后使用较小的查找表(大约500K行)连接一个表(大约20M行)。

1 个答案:

答案 0 :(得分:2)

以防其他人碰到这个,我找到了答案。而且,它非常简单:只需进入RDS管理面板并增加分配的存储空间即可。