相关疑难解决方法(0)

VACUUM 将磁盘空间返还给操作系统

VACUUM通常不会将磁盘空间返回给操作系统,除非在某些特殊情况下。
从文档:

VACUUM删除表和索引中的死行版本并标记可用空间以供将来重用的标准形式。但是,它不会将空间返回给操作系统,除非在表末尾的一个或多个页面完全空闲并且可以轻松获得排他表锁的特殊情况下。相比之下,VACUUM FULL通过编写一个没有死空间的完整新版本的表文件来主动压缩表。这最大限度地减少了表的大小,但可能需要很长时间。它还需要额外的磁盘空间用于表的新副本,直到操作完成。

问题是:如何实现这个数据库状态one or more pages at the end of a table become entirely free?这可以通过 完成VACUUM FULL,但我没有足够的空间来实现它。那么还有没有其他可能呢?

postgresql maintenance disk-space vacuum postgresql-9.2

30
推荐指数
1
解决办法
4万
查看次数

如何`vacuumlo` RDS PostgreSQL 数据库?

您可能已经注意到,作为一种完全托管的数据库即服务产品,AWS 关系数据库服务 (RDS) 限制用户空间命令的执行。

我暂存了一个生产数据库,结果我的pg_largeobject表膨胀到了整个持久性虚拟设备容量的 40%。

如何vacuumlo在运行 PostgreSQL 数据库的 RDS 实例上运行(在此处的其他 DBA.SE 问题中得到很好的解释)?

postgresql vacuum blob amazon-rds

4
推荐指数
1
解决办法
3577
查看次数