如何在PostgreSQL 9.5中找到在数据库上使用选项-作业并行运行完全真空作业时导致死锁错误/失败的原因。
我只得到了一些进程号和表名..。如何防止这种情况,使我能够成功地完成完全真空的数据库并行?
发布于 2016-09-12 12:02:04
在加载下完成VACUUM FULL是一项相当困难的任务。问题是Postgres正在缩小表占用的空间,因此任何数据操作都会影响到这一点。
要实现完全真空,您有以下几种选择:
create new table - swap (rename tables) - move data - drop original技术。这样,您就不会缩小原始表下的空间,只需删除该表即可释放它。当然,您正在重建所有索引,重定向FKs等。另一个问题是:你需要VACUUM FULL吗?VACUUM ANALYZE唯一不做的事情就是压缩文件系统上的表。如果您不是非常有限的磁盘空间,您不需要做一个完全真空那么多。
希望这能有所帮助。
https://stackoverflow.com/questions/39440460
复制相似问题