【问题标题】:Error message: "PostgreSQL said: could not write block 119518 of temporary file: No space left on device" PostgreSQL错误消息:“PostgreSQL 说:无法写入临时文件的块 119518:设备上没有剩余空间”PostgreSQL
【发布时间】:2018-11-12 00:24:44
【问题描述】:

我有一个查询,凭直觉,应该可以正常工作。但是,几乎在执行后,我立即收到以下错误消息:

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。

--我运行了analyze verbose和vacuum full analyze

--我已经停止了所有其他进程

该查询在两个 CTE 中进行一些小处理,然后将一个表(大约 20M 行)与一个较小的查找表(大约 500K 行)连接起来。

【问题讨论】:

  • 这个错误是因为你没有足够的磁盘空间而不是主存。
  • 这样的事情需要多少磁盘空间?更具体地说,您对 AWS 实例大小有什么建议吗?
  • 你能分享你正在使用的查询吗
  • 是的,不够

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


【解决方案1】:

以防万一其他人遇到这种情况,我找到了答案。而且,这真的很简单:只需进入 RDS 管理面板并增加分配的存储空间。

【讨论】:

    猜你喜欢
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 1970-01-01
    • 1970-01-01
    • 2015-06-18
    • 2021-06-16
    相关资源
    最近更新 更多