错误:无法扩展文件“ pg_tblspc / 4815857 / PG_11_201809051 / 16321”:设备上没有剩余空间

时间:2019-08-20 06:45:10

标签: postgresql

我的postgres table occupied 100% memory想要截断它。

当我使用TRUNCATE TABLE TABLE_NAME语句时,它显示在错误下方:

  

错误:无法扩展文件   “ pg_tblspc / 4815857 / PG_11_201809051 / 16321”:设备上没有剩余空间   提示:检查可用磁盘空间。

所以我尝试了DELETE FROM TABLE_NAME语句,该语句不会释放已用空间。

如何强制截断?

1 个答案:

答案 0 :(得分:2)

TRUNCATE需要为表创建一个新的(空)文件,这可能会导致您的问题。您可以DROP表并重新创建它。

另一种更麻烦的方式是

DELETE FROM table_name;
VACUUM table_name;  -- no FULL!

尽管VACUUM通常不缩小表,但是它将截断表末尾的有效页面。如果该表为空,则将删除所有页面。