【问题标题】:PostgreSQL error: could not extend file no space left on devicePostgreSQL 错误:无法扩展文件,设备上没有剩余空间
【发布时间】:2020-11-09 14:32:43
【问题描述】:

我正在运行一个查询,该查询在 PostgreSQL 上复制了一个非常大的表(9200 万行)。经过 3 次迭代后,我收到了以下错误消息:

查询是:

CREATE TABLE table_name
AS SELECT * FROM big_table

问题不是由于数据库集群中的空间不足:在运行查询时最大可能存储空间的 0.3% 时,表大小约为最大存储空间的 0.01%,包括所有副本。我还检查了临时文件,不是那样的。

【问题讨论】:

  • 我只看到这个与磁盘空间不足有关。您确定您正在查看正确的分区?
  • 您的数据库是否允许扩展超过一定大小?可能已经达到了这个规模?与 temp_db 相同。
  • 欢迎来到 SO,问得很好 Q。您能否将错误添加为文本而不是作为屏幕截图的链接。这样可以节省时间(很多人扫描 Q 的速度非常快)。 Tnx。

标签: postgresql storage database-administration


【解决方案1】:

您的文件系统资源肯定用完了。

确保尺寸正确:

SELECT pg_table_size('big_table');

不要忘记支持新表的文件在出错后被删除,因此语句失败后您有大量可用空间也就不足为奇了。

一种可能是您没有用完磁盘空间,而是没有可用的 i 节点。如何检查可用资源因文件系统而异;对于 Linux 上的 ext4,它会是

sudo dumpe2fs -h /dev/... | grep Free

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-22
    • 1970-01-01
    • 2015-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    相关资源
    最近更新 更多