我有TRUNCATE
一个巨大的表(〜120Gb),名为files
:
TRUNCATE files;
VACUUM FULL files;
表大小为0,但没有释放磁盘空间。有什么想法如何找回丢失的磁盘空间吗?
更新: 大约12个小时后释放了磁盘空间,我这边没有采取任何措施。我使用Ubuntu 8.04服务器。
我本来建议“给它真空!”,但考虑到您刚刚做了,我建议将其移交给pg-hackers或pg-performance列表(并链接回到线程或在获得答案后再回答)一)。
—
Denis de Bernardy 2011年
这个链接(postgresql.1045698.n5.nabble.com/…)是否为您提供任何建议?也许还有一些东西可以访问桌子或类似的东西。
—
DrColossos 2011年
@DrColossos:我在源代码中读到一条评论(一条评论,我现在找不到),它说PostgreSQL通知所有连接即将进行截断,并锁定了必要的资源。(有几个表,包括表本身,索引,序列和Toast表。)我敢肯定,我是通过ExecuteTruncate()进行跟踪来找到注释的,但是我对此并不是100%肯定的。
—
Mike Sherrill'Cat Recall'